-1

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

例如

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

另外,我想学习正则表达式,请给我推荐任何学习正则表达式的网站。

提前致谢。

4

2 回答 2

1

这应该这样做

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

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

编辑:如果可以跨行,请使用单行模式

Regex.Matches(input, "(?i)pqr.*(?-i)ABC XYZ", RegexOptions.Singleline)
于 2013-11-15T06:19:25.157 回答
0

这应该这样做:

[pP][qQ][rR].*ABC XYZ
  • [pP]匹配 p 或 P,与[qQ]和相同[rR]
  • .*匹配任意字符 ( .),任意次数 ( *),即 pqr 和 ABC 之间可以有被忽略的东西,
  • ABC XYZ匹配文字字符串ABC XYZ

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

于 2013-11-15T06:19:11.243 回答