首页 > 解决方案 > 在行尾排除多个条件

问题描述

我正在寻求以下正则表达式规则的帮助

我已经将前三个规则与以下 RegEx 一起使用:

(?=Include\().[^\)]*(s\))

但是每次我尝试改进它以包含规则 #4 时,我都会完全破坏 RegEx 并且没有匹配项。这是一个链接,其中包含我到目前为止所获得的样本,它目前有 7 个匹配项,但是如果我能够实施规则 4 将排除两个误报,所以我只期待 5 个匹配项:https:/ /regexr.com/4snsb

它应该满足以下 5 行:

Include(x => x.ClientBuyerAutoCharges)
Include(x => x.ClientContacts)
Include(x => x.ClientContactCommsTypes)
Include(x => x.ClientInspectionValues)
Include(x => x.ClientUnitTypeVATStates)

标签: regex

解决方案


您可以使用

Include\([^()]*s\)(?<!Address\)|Status\)|Process\))

查看正则表达式演示

细节

  • Include\(- 一段Include(文字
  • [^()]* - 0 个或多个字符,而不是(and)
  • s\)-s)文字
  • (?<!Address\)|Status\)|Process\))- 如果在当前位置的左侧紧邻有或Address),则匹配失败的负向lookbebind 。Status)Process)

推荐阅读