正则表达式选择除了之外的一切

时间:2014-01-15 09:48:18

标签: javascript jquery regex

我正在构建一个语法突出显示脚本,我的正则表达式有一些问题。我已经失败了大约两天,所以我需要帮助。

我想选择那些不是/* */或者它们之间的东西,这就是我得到的东西,而不是工作,但似乎很接近:

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

我想要的一个例子:

/* I want to select everything but these comments */
.class-1 {
   font-family: 'SourceCodePro';
   font-size: 16px;
   line-height: 18px;
}
/* I want to select everything but these comments */
.class-2 {
   background-color: rgb(40, 40, 40);
   border: 1px solid rgb(20, 20, 20);
   padding: 10px 15px 10px 15px;
}

我已经解决了其余代码的其他正则表达式选择,但由于它适用于注释,我还需要先选择除了它们之外的所有内容。

4 个答案:

答案 0 :(得分:1)

你可以尝试使用这个:

!(/\*.+?\*/)

答案 1 :(得分:1)

试试这个:

!(\/\*(.+)\*\/)

我现在无法检查。

答案 2 :(得分:1)

看看这个https://regex101.com/r/cN5aT1/2

/^(?!(\/\*(.+)\*\/)).*/gm

如果评论是多行

,则无效

答案 3 :(得分:0)

删除评论|的 DEMO

对于单//和多行/* */

function filter(str)
{

    var regex =/\/\/.+?(?=\n|\r|$)|\/\*[\s\S]+?\*\//g;

    // if you want for multiline only then
    // use var regex =/\/\*.+?\*\//g;

    var temp = str.replace(regex,'');
    alert(temp);
}