c#多行注释正则表达式不工作

本文关键字:工作 正则表达式 多行注释 | 更新日期: 2023-09-27 18:11:03

我是regex的新手,我正试图使一个regex找到所有c风格的块注释(/*和*/)

所以我在网上搜索,找到一个在RegExr.com工作的好人!

/'/'*[^]*?'*'//g

但是当我想把这个正则表达式放入我的c#代码时,它会抛出一个错误。

System.Text.RegularExpressions.Regex _reg = new System.Text.RegularExpressions.Regex(@"/'/'*[^]*?'*'//g");

你能帮我找出我的错误吗?谢谢!

c#多行注释正则表达式不工作

您需要删除正则分隔符,并使用.(内联(?s)RegexOptions.Singleline标志)的单行模式来匹配包括换行符在内的任何字符:

(?s)/'*.*?'*/

看到演示

在您的正则表达式中,您有[^]匹配任何符号,包括仅在JavaScript中工作的换行符。/.../[modifier]在c#中是不必要的,因为标志可以在regex类方法中作为可选参数指定。