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

Posted

技术标签:

【中文标题】没有特定单词的行匹配的正则表达式【英文标题】:Regular expression for line match without specific word 【发布时间】:2013-02-08 00:24:40 【问题描述】:

我正在尝试创建正则表达式,该表达式仅计算行首不包含特定单词的行。就我而言,“恶魔:”。

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】:
str.match( /^(?!deamon:).*/mg )

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

【讨论】:

以上是关于没有特定单词的行匹配的正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

如何使用正则表达式匹配nuxtjs,vue中路由中的特定单词?

如果正则表达式不包含特定单词,如何匹配它?

正则表达式 - 匹配任何单词但忽略特定单词[重复]

正则表达式匹配特定单词[重复]

❤️Linux三剑客与管道符正则表达式的使用❤️

正则表达式删除与第二个字符串匹配的行?