Fra*_*nor 2 c# regex escaping visual-studio-2010
我有一个以下格式的字符串:
prm.Add( "blah", "blah" );
Run Code Online (Sandbox Code Playgroud)
我希望使用正则表达式来提取第一个"等等".要做到这一点,我正在雕刻前半部分,然后雕刻后半部分.
我用来摆脱"prm.Add"的正则表达式是:
"prm.Add\([ ]*"
Run Code Online (Sandbox Code Playgroud)
其他线程似乎表明在paranthesis之前转义字符是可以接受的.然而VS抱怨我有一个无效的转义字符序列"(".如果我使用:
"prm.Add([ ]*"
Run Code Online (Sandbox Code Playgroud)
应用程序错误,因为没有关闭paranthesis.
我意识到我可以通过在"prm.Add(")上使用Regex.Escape解决这个问题.但这并不是非常优雅.
我的正则表达式语法是错误的还是VS2010不接受括号的转义?
你只需要逃避反斜杠以便编译器理解:"prm.Add\\([ ]*"或者@"prm.Add\([ ]*"
否则编译器无法理解"\n"- 作者想要什么?换行符或字符串"\n"原样?
但我试着让它变得更有活力,例如不假设空间角色在那里.
| 归档时间: |
|
| 查看次数: |
8543 次 |
| 最近记录: |