Tag: regex

正则表达式运算符的顺序(.. | .. … .. | ..)

(..|. .. .|..)运算符中表达式的优先级顺序是什么 – 从左到右,从右到左或其他什么?

不在两位数之间时删除小数点

我正在清理搜索字符串,需要删除任何出现的句点,但是当它们在两位数之间时保留小数点。 例如,如果我有一个字符串 599.75,老虎队。 然后我希望它回来 599.75,老虎队 我在想一条像: strNewString = RegEx.Replace(strOrigString,strRegEx,string.Empty); strRegEx只会匹配。删除但是我很难搞清楚如何只匹配。 而不是周围的事情。

如何使用C#在标签之间提取字符串?

说我有一个字符串,如下所示: “Unneeded text Needed Text More unneeded text” 如何仅提取“ 需要的文本 ”? 我猜Regex可能是最简单的方法,但Regex对我来说仍然看起来像象形文字。

什么是PCRE兼容语法? 和C#PCRE兼容吗?

什么是PCRE兼容语法? 和C#PCRE兼容吗? 从维基百科我发现: Perl兼容正则表达式(PCRE)是一个正则表达式C库,受到Perl编程语言中正则表达式function的启发,由Philip Hazel编写,从1997年夏天开始.PCRE的语法比任何一个POSIX正则表达式都强大和灵活风味和许多经典正则表达式库。 该名称具有误导性,因为PCRE和Perl都具有其他function不共享的function。 资源

C#正则表达式“无法识别的转义序列”

我有正在使用的正则表达式的问题,但不知道如何继续使用它们。 我收到错误“无法识别的转义序列”。 我试图列出所有可能有下面代码中列出的格式的电话号码的文件 static void Main(string[] args) { //string pattern1 = “xxx-xxx-xxxx”; //string pattern2 = “xxx.xxx.xxxx”; //string pattern3 = “(xxx) xxx-xxxx”; string[] fileEntries = Directory.GetFiles(@”C:\BTISTestDir”); foreach (string filename in fileEntries) { StreamReader reader = new StreamReader(filename); string content = reader.ReadToEnd(); reader.Close(); string regexPattern1 = “^(\d{3}\.){2}\d{4}$”; string regexPattern2 = “^((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}$”; if(Regex.IsMatch(content, regexPattern1)) Console.WriteLine(“File found: ” […]

正则表达式非贪婪(懒惰)

我试图非贪婪地解析TD标签。 我从这样的事情开始: stuffMore stuffOther stuffthingsmore things 我正在使用以下作为我的正则表达式: Regex.Split(tempS, @”\”); 记录返回如下: “” “stuffMore stuffOther stuff” “things” “more things” 为什么不拆分第一个完整的结果(以“stuff”开头的那个)? 如何在有或没有参数的情况下调整正则表达式以拆分TD标签的所有实例?

正则表达式查找以特定字符开头的单词

我试图找到一个特定字符开头的单词,如: Lorem ipsum #text Second lorem ipsum。 你好吗。 没关系。 完成。 现在#else。 我需要用“#”开头所有单词。 所以我的预期结果是#text,#are,#else 有任何想法吗?

使用正则表达式c递归获取内部模式

我知道.net中有关于正则表达式递归的几个问题。 我可以编写一些复杂的正则表达式,但这种递归超出了我,我只是无法编写它。 这是最接近我想要的问题。 第一个问题, 第二个问题 。 但它匹配整个字符串,我希望集合中的匹配最好是最里面的匹配,或者按照某种顺序。 它还匹配一个开头字符和一个结束字符。 我打开和关闭是2个字符,[! 和!] 我的输入字符串将是这样的。 [!a=’test’ b='[!a=’innertest’ b=’innervalue’!]’!] 我需要首先找到最新的部分, [!a=’innertest’ b=’innervalue’!],然后通过我的一个表达式树来评估它。 然后评估包含它的父母。 有人能帮忙吗?

在C#中的php(pcre)中找到的分支重置运算符(“?|”)的等价物是什么?

以下正则表达式将匹配“星期六”或“星期日” (?:(Sat)ur|(Sun))day 但是在一种情况下,后向引用1被填充,而后向引用2是空的而在另一种情况下反之亦然。 PHP(pcre)提供了一个很好的运算符“?|” 这可以避免这个问题。 之前的正则表达式将成为(?|(Sat)ur|(Sun))day 。 所以不会有空的反向引用。 C#中是否存在等价物或某些解决方法?

StringBuilder中的正则表达式替换

我正在将文本文件的内容写入StringBuilder,然后我想使用正则表达式对StringBuilder中包含的文本执行许多查找/替换操作。 我遇到了一个问题,因为StringBuilder替换函数不能接受正则表达式参数。 我可以在普通字符串上使用Regex.Replace,但我认为这是低效的,因为需要在内存中创建字符串的两个副本,因为.net字符串是不可变的。 一旦我更新了文本,我打算将其写回原始文件。 什么是解决我问题的最佳和最有效的方法? 编辑 除了下面的答案,我发现以下问题也解释了我的问题 – 内存效率和性能的字符串替换净框架 IS-StringBuilder的替换,更高效的超字符串替换 在乜点,确实-使用-A-的StringBuilder-成为无意义,或-的开销