C#正则表达式引擎不起作用

Min*_*ael -4 c# regex

我正在做最简单的regex.match,我给Regex.Match一个字符的模式,它根本不返回匹配,我确保输入文本包含很多字符?

我检查了所有的使用情况.

它非常奇怪.

任何帮助,将不胜感激!

谢谢.

编辑:

我的样本是"做任何类型的匹配根本就不工作"返回一个空匹配

Match m=Regex.Match(@"c","abcdc");
Run Code Online (Sandbox Code Playgroud)

代码编译没有错误,所以为什么没有匹配!!

Ahm*_*eed 11

编辑:基于您的编辑问题是您正在使用不正确的参数.您需要切换订单并提供输入(字符串源以查找匹配)然后模式(要匹配的内容).

实际上,IntelliSense为您指定了此顺序,如下图所示:

正则表达式参数排序

它通常有助于匹配IntelliSense建议的命名或参考它以确保传入正确的项目.


使用的角色是什么?你有可能尝试使用一个实际上是元字符的字符,它在正则表达式中具有特殊含义.

例如:

string result = Regex.Match("$500.00", "$").Value;
Run Code Online (Sandbox Code Playgroud)

以上不会返回任何内容,因为$需要转义的元字符:

string result1 = Regex.Match("$500.00", @"\$").Value;  // or
string result2 = Regex.Match("$500.00", "\\$").Value;  // or
string result3 = Regex.Match("$500.00", Regex.Escape("$")).Value;
Run Code Online (Sandbox Code Playgroud)

有关需要转义的常见元字符列表,请查看Regex.Escape文档.

  • 这是对一个不太好的问题的惊人回应..荣誉先生! (3认同)