Tag: 正则表达式

6位int的正则表达式,不能是连续的或重复的数字?

我试图得到一个正则表达式,检查以确保提供的int是6位数,它不是顺序的,也不包含所有重复的数字,无论是升序还是降序。 我真的不在乎正则表达式是否返回非允许数字的匹配项,或者如果允许则返回原始数字的匹配项。 所以例如所有这些数字都是我不需要通过正则表达式validation的: 123456 654321 069 456789 2435 444444 虽然这些数字会通过: 044346 666605 042004 678853 谢谢。 编辑:出现正则表达式不适合这个。 很多很好的答案和多个是正确的,所以我只是先跟谁回答,谢谢大家!

使用C#Regular表达式替换XML元素内容

我正在编写一些处理日志记录xml数据的代码,我希望能够替换文档中某些元素(例如密码)的内容。 我宁愿不序列化和解析文档,因为我的代码将处理各种模式。 样本输入文件: doc#1: jsmith myPword doc#2: jsmith myPword 我希望我的输出是: 输出文档#1: jsmith XXXXX 输出文档#2: jsmith XXXXX 由于我将要处理的文档可能有各种模式,我希望能够找到一个很好的通用正则表达式解决方案,它可以找到带有密码的元素并相应地屏蔽内容。 我可以使用正则表达式和C#解决这个问题,还是有更有效的方法?

什么是可以匹配非零浮点数与任意小数位数的最短正则表达式?

什么是可以匹配非零浮点数与任意小数位数的最短正则表达式? 它应该接受像这样的数字 -1 -5.9652 -7.00002 -0.8 -0.0500 -0.58000 0.01 0.000005 0.9900 5 7.5 7.005 但拒绝诸如此类的结构 . .02 -. -.996 0 -0 0. -0. -0.000 0.00 — .. + +0 +1 +. +1.26 ,etc 我不需要支持科学记数法,e,E等。 顺便说一句,我使用的语言是C#。

为什么Regex CompileToAssembly比编译的正则表达式和解释的正则表达式提供更慢的性能?

我使用以下代码来测试编译正则表达式的CompileToAssembly性能,但结果不合适。 请让我知道我错过了什么。 谢谢!!! static readonly Regex regex = new Regex(@”(stats|pause\s?(all|\d+(\,\d+)*)|start\s?(all|\d+(\,\d+)*)|add\s?time\s?(all|\d+(\,\d+)*)(\s\d+)|c(?:hange)?\s?p(?:asskey)?|close)(.*)”, RegexOptions.Compiled); static readonly Regex reg = new Regex(@”(stats|pause\s?(all|\d+(\,\d+)*)|start\s?(all|\d+(\,\d+)*)|add\s?time\s?(all|\d+(\,\d+)*)(\s\d+)|c(?:hange)?\s?p(?:asskey)?|close)(.*)”); static readonly Regex level4 = new DuplicatedString(); static void Main() { const string str = “add time 243,3453,43543,543,534534,54534543,345345,4354354235,345435,34543534 6873brekgnfkjerkgiengklewrij”; const int itr = 1000000; CompileToAssembly(); Match match; Stopwatch sw = new Stopwatch(); sw.Start(); for (int i = […]

匹配版本号部分与正则表达式

我正在尝试将版本号(Major.Minor.Build.Revision)的各个部分与C#正则表达式进行匹配。 但是,我对写Regex很陌生,甚至使用Expresso也certificate有点困难。 现在,我有这个: (?\d*)\.(?\d*)\.(?\d*)\.(?\d*) 这有效,但要求版本号的每个部分都存在。 我想做的还是匹配版本,如: 2.13 在这种情况下,构建和修订组需要返回空值。 如果我发现这一切都错了,请随意提出一个更好的方法。

在整个文件中进行多行正则表达式搜索

我已经找到大量示例来使用正则表达式替换文件中的文本。 然而,这一切归结为两个版本: 1.迭代文件中的所有行并将regex应用于每一行 2.加载整个文件。 第2号使用“我的”文件是不可行的 – 它们大概是2GiB …… 至于第1名:目前这是我的方法,但我想知道……如果需要应用跨越多行的正则表达式怎么办?

什么更快:正则表达式或字符串操作?

什么时候我应该使用Regex而不是字符串操作,反之亦然只考虑性能?

如何使用C#的正则表达式匹配行的开头或结尾?

我正在尝试匹配这个表达式: ^COMA1TA2000,.*$ 用这个文字: # Qualquer linha iniciada por # será ignorada # Caracteres que não podem serem usados na nomenclatura das copiadoras ou modelos. # & ” ‘ COMA1TA2000,ta-2000,hd,COMB1 #COMA2TA2000,ta-2000,hd,COMB2 #COMA3TA2000,ta-2000,hd,COMB3 我可以使用Notepad ++来做到这一点,但我不能使用C# Regex类。 content = sr.ReadToEnd(); string pattern = “^COMA1TA2000,.*$”; if(Regex.IsMatch(content, pattern)) System.Windows.Forms.MessageBox.Show(“Test”); 我错过了什么?

C#反转字符串中的所有数字?

我有一个字符串: “ 你好7866592这是我的12432字符串和823我需要翻转所有123 ” 我想成为 “ 你好2956687这是我的23421字符串和328我需要翻转所有321 ” 我使用这个正则表达式来获取所有数字: Regex nums = new Regex(“\d+”);

将句子分成单词,但在C#中标点符号有问题

我已经看到了一些类似的问题,但我正在努力实现这一目标。 给定一个字符串,str =“月亮是我们的天然卫星,即它围绕地球旋转!” 我想提取单词并将它们存储在一个数组中。 预期的数组元素就是这样。 the moon is our natural satellite ie it rotates around the earth 我尝试使用String.split(’,’\ t’,’\ r’),但这不能正常工作。 我也尝试删除。和其他标点符号,但我想要一个像“ie”这样的字符串也要解析出来。 实现这一目标的最佳方法是什么? 我也尝试使用regex.split无济于事。 string[] words = Regex.Split(line, @”\W+”); 肯定会欣赏正确方向的一些推动。