我一直在努力寻找解决此问题的方法。假设有一个字符串
"hello Exclude1 4:32 test test Exclude2 5:23 hello 2:19 some more text 42:3 more text"
我正在尝试创建一个只与2:19
和42:3
匹配的C#regx
但请忽略Exclude1 4:32
和Exclude2 5:23
即如果前面有Exclude1或Exclude2,则不匹配4:32或n:nn。 感谢
答案 0 :(得分:8)
您可以使用negative lookbehind忽略其他表达式前面的表达式:
(?<!Exclude1 )(?<!Exclude2 )\d+:\d+
这将与##:##
或Exclude1
之前不紧跟的Exclude2
匹配。
答案 1 :(得分:0)
(?<!a)b for example matches b which is not preceded by a, you can
easily adapt it to your needs.
答案 2 :(得分:0)
你有没有试过像:
(?<!Exclude\d )\d+:\d+