正则表达式匹配/但不匹配//

时间:2015-04-21 23:35:15

标签: regex comments match

对于在“Sublime Text 2”中突出显示的自定义语法,我需要一个解决方案来使用dechex devisor“/”而不是双斜杠注释“//”

正则表达式匹配的示例代码如下所示:

void main()
{
    int a = 10/2; // simple devision
    //        ^    ^ 
    //        |    +-- comment (the regex below will match the second slash)
    //        +-- devisor
}

我目前的正则表达式如下:

\/(?!\/)

此正则表达式的结果也与注释中的第二个斜杠相匹配。我如何定义匹配devisor的正则表达式,但根本不触及双斜杠注释?

2 个答案:

答案 0 :(得分:1)

你很亲密。您指定了一个负向前瞻断言,即斜杠不能跟随斜杠。而且现在你还需要指定一个负向外观断言,即斜杠不能在斜杠之前

(?<!\/)\/(?!\/)

答案 1 :(得分:0)

使用不匹配的字符类:

[^\/]*(\/)[^\/]*

这将匹配其他/之前或之后没有的任何/