Dai*_*Dai 25
在C#语言和.NET正则表达式都具有自己独特的一套反斜杠转义序列,但C#编译器拦截"\b"在您的字符串,并将其转换为ASCII退格字符,因此RegEx类永远看不到它.你需要逐字地创建字符串(带有at符号的前缀)或双重转义'b',以便反斜杠传递给RegEx,如下所示:
@"\bCOMPILATION UNIT";
Run Code Online (Sandbox Code Playgroud)
要么
"\\bCOMPILATION UNIT"
Run Code Online (Sandbox Code Playgroud)
我会说.NET RegEx文档没有说明这一点.我花了一段时间才弄清楚这一点.
有趣的事实:在\r与\n字符(分别是回车和换行)和一些其他被认可的两种正则表达式和C#语言,所以最终的结果是一样的,即使编译字符串是不同的.