C#正则表达式不匹配字符串中的某些单词

use*_*061 0 c# regex regex-lookarounds

我一直在努力寻找解决这个问题的方法.假设有一个字符串

"hello Exclude1 4:32  test test Exclude2 5:23 hello 2:19 some more text 42:3 more text"
Run Code Online (Sandbox Code Playgroud)

我试图创建一个C#至REGx将只匹配2:1942:3 而忽视Exclude1 4:32Exclude2 5:23

即如果前面有Exclude1或Exclude2,则不匹配4:32或n:nn.谢谢

mel*_*okb 8

您可以使用负向lookbehind来忽略其他表达式之前的表达式:

(?<!Exclude1 )(?<!Exclude2 )\d+:\d+
Run Code Online (Sandbox Code Playgroud)

这将匹配##:##不会立即在任何一个Exclude1 或之前Exclude2 .

演示:正则表达式 | C#代码示例