如何仅匹配不以

时间:2017-05-10 12:03:16

标签: javascript regex

我试图匹配代码行,
我的问题是忽略评论(以斜线开头的行 - /)

例如:

/(\w+)(?:\s|\t)(?:\=)(?:\s|\t)+/g

在这个字符串上:

test1 =" b"   test2 =" d"   // test3 =" dsf"

应该返回:

test1
test2

我当前的模式当然会回归:

test1
test2
test3

我知道(?<!,但因为我使用的是javascript,它对我不起作用。关于(?!我相信它不是用于相同的用法(如果我错了就解决我的问题)

2 个答案:

答案 0 :(得分:0)

output=input.split("\n").map(line=>line.split("//")[0]);

将返回:

['test1="b"','test2="d"']

然后你可以走得更远......

答案 1 :(得分:0)

您可以使用^作为行首锚点(使用m修饰符),并且在行的开头需要\w,该行不匹配。您仍然可以在行的开头允许一些空格:

^\s*(\w+)\s*\=

注意:\t已与\s匹配,因此无需执行\s|\t