如何从Regex中排除案件?

时间:2019-02-08 06:34:44

标签: regex

假设我有以下文字:

Lorem Ipsum
Lorem Ipsum Dolor
Lorem Dolor Ipsum Sit Amet

我想获取所有Ipsum's,但不以Dolor开头

符合此条件的正确正则表达式应该是什么?

2 个答案:

答案 0 :(得分:2)

我可以建议以下匹配foor的正则表达式模式,而该模式不会紧跟Ipsum之后:

Dolor

如果(?:^\s*|\b(?!Dolor)\S+\s+)Ipsum 不是该行中的第一个单词,它也可能与前面的单词(不是Dolor)匹配。希望这足以让您在IntelliJ搜索中使用。

我建议您在此处不要使用负向后视,因为要涵盖所有情况,您可能需要后向可变宽度的后视,这可能不受支持,并且效率可能很低。

Demo

答案 1 :(得分:0)

负向查找是您要寻找的内容:

(?<!Dolor )Ipsum

Demo