c#正则表达式搜索sting

时间:2013-11-15 06:14:54

标签: c# regex

在C#中,我想在字符串中依次搜索字符串 PQR (不区分大小写) ABC XYZ (区分大小写)。那个正则表达式是什么?

例如

  • 这是 pqr 测试字符串 ABC XYZ => IsMatch()应返回true
  • PQRanother 示例 ABC XYZ test => IsMatch()应返回true
  • PQR 是另一项测试 abc xyz => IsMatch()应该返回false 因为abc xyz不是大写的
  • ABC XYZ 测试字符串 pqr => IsMatch()应返回false,因为字符串不按顺序排列
  • 你好 pqr 测试 ABC & XYZ => IsMatch()应该返回false 因为字符串ABC XYZ不存在。
  • hello123 pqr \ n \ n \ n(新行)测试ABC XYZ bla bla bla =>应该返回true

另外,我想学习正则表达式,请建议我学习正则表达式的任何网站。

提前致谢。

2 个答案:

答案 0 :(得分:1)

这应该这样做

(?i)pqr.*(?-i)ABC XYZ

(?i)表示不区分大小写; (?-i)表示区分大小写。

编辑:如果可以跨行

,请使用单行模式
Regex.Matches(input, "(?i)pqr.*(?-i)ABC XYZ", RegexOptions.Singleline)

答案 1 :(得分:0)

这应该这样做:

[pP][qQ][rR].*ABC XYZ
  • [pP]匹配p或P,[qQ][rR]相同,
  • .*匹配任何字符(.),任意次数(*),即pqr和ABC之间可能存在被忽略的内容,
  • ABC XYZ与文字字符串ABC XYZ匹配。

对于.NET正则表达式,您可以从介绍性页面开始,其中包含一些示例: