【问题标题】:regex lookahead matching keyword and excluding a specific pattern ahead [duplicate]正则表达式前瞻匹配关键字并提前排除特定模式[重复]
【发布时间】:2021-05-11 00:58:25
【问题描述】:

我希望正则表达式匹配 any ERROR(包括 ERROR 本身)之后的整个句子,除非 ERROR 后跟 MO already exists。因此,例如在下面我想要 1,2,3,4 的 whole 行,但第 5 行的 nothing

ERROR  
we have an ERROR here da da da  
ERROR Parent MO not found  
ERROR anything else is here  
ERROR MO already exists 

我在正则表达式中尝试了以下前瞻来匹配所需的模式,但没有完全实现我想要的。
ERROR (?!MO already exist)
我需要什么修改?

【问题讨论】:

  • 尝试像这样ERROR(?!\sMO\salready\sexists) 在MO之前添加空格@
  • 谢谢你,这是领先一步,但这只是匹配ERROR本身,我希望匹配ERROR之后的整个句子。

标签: regex regex-lookarounds


【解决方案1】:

您是否可以使用您展示的示例尝试以下操作。在线演示Online regex demo

ERROR\s+(?!MO already exist).*$

说明: 寻找错误空间,然后检查否定前瞻,以确保它没有 MO already exist 并在此处匹配所有内容直到行尾.

注意:或者如果MO already exists 之间可以有多个空格,请尝试关注。

ERROR\s+(?!MO\s+already\s+exist).*$

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-15
    • 2020-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多