我是正则表达式的新手,我试图创建一个找到所有C样式块注释的正则表达式(/ *和* /)
所以我在网上搜索并找到一个在RegExr.com上工作的好人!
/\/\*[^]*?\*\//g
但是当我想把这个正则表达式放在我的C#代码中时,它会抛出一个错误。
System.Text.RegularExpressions.Regex _reg = new System.Text.RegularExpressions.Regex(@"/\/\*[^]*?\*\//g");
你能帮我找到我的错误吗?谢谢!
答案 0 :(得分:1)
您需要删除正则表达式分隔符,并使用带有.
的单行模式(内联(?s)
或RegexOptions.Singleline
标记)来匹配包含换行符的任何字符:
(?s)/\*.*?\*/
请参阅demo
在你的正则表达式中,你有[^]
匹配任何符号,包括仅在JavaScript中工作的换行符。并且在C#中不需要/.../[modifier]
,因为可以在regex类方法中将flags指定为可选参数。