regex - 在行尾排除多个条件
问题描述
我正在寻求以下正则表达式规则的帮助
- 必须以
Include(
- 必须以
s)
)
中间不能有- 我想排除结束的结果
Address)
,Status)
或者Process)
我已经将前三个规则与以下 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)
解决方案
您可以使用
Include\([^()]*s\)(?<!Address\)|Status\)|Process\))
查看正则表达式演示
细节
Include\(
- 一段Include(
文字[^()]*
- 0 个或多个字符,而不是(
and)
s\)
-s)
文字(?<!Address\)|Status\)|Process\))
- 如果在当前位置的左侧紧邻有或Address)
,则匹配失败的负向lookbebind 。Status)
Process)
推荐阅读
- java - “错误:程序类型已存在:com.google.zxing.aztec.detector.Detector”
- c# - 使用 Vlc.Dotnet for WPF 从流中播放视频
- java - 类型推断:泛型,“var”
- intellij-idea - 在 Intellij 中有任何依赖分层视图吗?
- c# - 使用 c# 读取 XML 文件并将数据保存到 SQL 表列
- python - 确定熊猫数据框中每一列的最大值
- c++ - 将数字转换为单词
- django - 如何在 DetailView 中对 ForeignKey 实例进行分页
- c - 在具有外部链接的内联函数中引用静态对象
- django - Djongo重新定义了ArrayModelField的结构