我想编写一个正则表达式,如果字符串包含 XYZ 但在它之前的某处不包含 ABC,则匹配该正则表达式。所以“blah XYZ blah”应该匹配,但“blah ABC blah XYZ blah”不应该匹配。
有什么想法吗?特别是我正在用 c# 编写正则表达式,以防该语法有任何特定内容。
我想我可以使用负向后视,但以前没用过...
谢谢!
更新:我需要一个正则表达式,因为我无法修改代码,只能修改一些配置。
更新:已更改,因为我实际上只需要检查 ABC 是否出现在 XYZ 之前,我不需要检查它是否出现在 XYZ 之后。
最佳答案
^(?:(?<!ABC).)*XYZ
适合我的小测试集。
关于c# - 如何编写正则表达式来匹配包含 XYZ 但不包含 ABC 的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/447943/