匹配没有两个单词的行

我想知道如何匹配没有两个单词的行吗?

例如,我想匹配一条没有ChapterPart 。 所以这两条线都不匹配:

("Chapter 2 The Economic Problem 31" "#74")

("Part 2 How Markets Work 51" "#94")

而这是一场比赛

("Scatter Diagrams 21" "#64")

我的python风格的正则表达式就像(?<!(Chapter|Part)).*?n 。 我知道这是不对的,并会感谢你的帮助。


尝试这个:

^(?!.*(Chapter|Part)).*

@ MRAB的解决方案将起作用,但这里有另一种选择:

(?m)^(?:(?!b(?:Chapter|Part)b).)*$

这个. 在预先检查它不是ChapterPartChapter一个字符后,一次匹配一个字符。 单词边界( b )确保它不会错误地匹配较长单词的一部分,如Partition

^$是开始和结束锚; 他们确保你匹配整条线。 $n更好,因为它也匹配最后一行的末尾,最后不一定有换行符。 (?m)开始修改锚的含义; 没有这一点,他们只在整个输入的开始和结束处匹配,而不是单独的行。

链接地址: http://www.djcxy.com/p/76701.html

上一篇: Matching a line without either of two words

下一篇: RegEx to tell if a string is not a specific string