C#替换为正则表达式

时间:2014-02-26 17:21:09

标签: c# regex

此代码不起作用,但它适用于其他表达式,例如(?:[A-Za-z][A-Za-z0-9_]*)

下面的表达式在正则表达式测试程序中正常工作,但它不会在此代码中用Hello替换Hello:

string test = "int Hello :=   2 ;";
string pattern = "\b(?!int|bool)(?:[A-Za-z][A-Za-z0-9_]*)\b";
string replacement = "Id";
Regex rgx = new Regex(pattern);
string newline = rgx.Replace(test, replacement);

1 个答案:

答案 0 :(得分:4)

您应该从backslashes开始@或使用string并将其设为verbatim string\b C#具有特殊含义,backspace,请参阅文档:Escape Sequences

string pattern = @"\b(?!int|bool)(?:[A-Za-z][A-Za-z0-9_]*)\b";