我有一个以下格式的字符串:
prm.Add( "blah", "blah" );
我希望使用正则表达式来提取第一个“blah”。
为此,我先切掉前半部分,然后切掉后半部分。
我用来摆脱“prm.Add(”的正则表达式是:
"prm.Add\([ ]*"
其他线程似乎表明括号前的转义字符是可以接受的。然而VS抱怨我有一个无效的转义字符序列“(”。
如果我使用:
"prm.Add([ ]*"
由于没有右括号,应用程序出错。
我意识到我可以通过在“prm.Add(”上使用 Regex.Escape 来解决这个问题。但这并不是很优雅。
我的正则表达式语法是否错误,或者 VS2010 不接受括号转义?
您只需要转义反斜杠即可让编译器理解:"prm.Add\\([ ]*"
or @"prm.Add\([ ]*"
否则编译器无法理解类似的事情"\n"
- 作者想要什么?换行符还是字符串“\n”?
但我会尽力让它更有活力,例如不假设那里有空格字符。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)