没有特定单词的行匹配的正则表达式

时间:2013-02-22 11:35:17

标签: javascript regex regex-negation

我正在尝试创建正则表达式,该表达式只计算行开头不包含特定单词的行。在我的情况下,“deamon:”。

My regex: (?!d)(?!e)(?!a)(?!m)(?!o)(?!n)(?!:).*\n

但这与“deamon:”背后的其余部分匹配,也是我不想要的。

输入:

deamon: parsing arguments...
deamon: parsing xml file...
deamon: creating xml file for demo...
deamon: executing demo
parsing arguments...
path to xml: /home/www/www/seg-chapter/tests/users/1/launches/60/demo.xml
parsing xml file...

匹配

parsing arguments...
parsing xml file...
creating xml file for demo...
executing demo
parsing arguments...
path to xml: /home/www/www/seg-chapter/tests/users/1/launches/60/demo.xml
parsing xml file...

我只想:

parsing arguments...
path to xml: /home/www/www/seg-chapter/tests/users/1/launches/60/demo.xml
parsing xml file...

你们有没有人知道如何在行的开头只匹配没有“deamon:”的行?

1 个答案:

答案 0 :(得分:3)

str.match( /^(?!deamon:).*/mg )

多行标记m表示^匹配每行的开头,而不仅仅是字符串的开头。
如果一行以(?!deamon:)开头,则deamon:是否定前瞻,会阻止匹配。