C#当我使用正则表达式时有什么不同

时间:2017-11-19 15:42:33

标签: c# regex

我使用Regex Class制作了以下C#代码。但我认为它并不起作用。

string s = Regex.Match("binary", "b(?=inary)").Value;
string _s = Regex.Replace("binary", "b(?=inary)", ", ");

Console.WriteLine("result is {0}{1}", s, _s);

以下代码只是使用不同的方法。

但输出彼此不同     "结果是b,inary"。

string s = Regex.Match("binary", "b(?=inary)").Value;

string _s = Regex.Replace("binary", "b(?=inary)", ", ");

有什么区别?

请给我一些建议!!!

1 个答案:

答案 0 :(得分:1)

Match函数用于返回有关与指定表达式匹配的文本的信息。由于b与此上下文中的模式匹配,因此只会输出bReplace对匹配的文本执行一些更改并返回生成的更改文本。这就是您看到, inary返回的原因 - 它将b替换为,,导致整个结果返回, inary

匹配

[b] inary => b

替换

[b] inary => [,] inary