在引号外的正则表达式中匹配注释(//注释)

时间:2013-01-03 06:21:08

标签: c# regex

  

可能重复:
  Regex to strip line comments from C#

我完全坚持这个,而且我不擅长制作正则表达式。

基本上我想匹配文章中的评论,例如:

//Comment outside quotations
string text = "//Comment inside quotations..";
//Another comment

我只希望顶部和底部的注释匹配,而不是引号内的中间注释

我现在收到的评论是:

//.*$

在整个行尾匹配评论。

我想要它用于文本框中的语法高亮。

这可能吗?

2 个答案:

答案 0 :(得分:1)

试试这个:

"^(?!\".*\")//.*$"

这将匹配

//Comment outside quotations

且不匹配

string text = "//Comment inside quotations..";

请为c#

进行必要的转义

答案 1 :(得分:0)

试试这个正则表达式:

([^"]|"[^"]*")*(?<COMMENT>//.*)

解析指定group“COMMENT”的每个匹配项(或您选择命名的任何内容)。我没有在C#中测试它的快速免责声明,我只是使用在线tool将正则表达式放在一起。