假设我想要:
TESTGRID - NOT MATCH
testgrid - NOT MATCH
ACTIVEID - MATCH
activeID - MATCH
testRID - MATCH
我试过:
(?!([^GR]))ID*?\b (I really thought I had it with this one - Don't match ID if it is preceeded with GR, right?
(?!([^GRID]))ID*?\b
(?!([GRID]))ID*?\b
这些都不起作用。
不过,我发誓我在使用正则表达式方面做得越来越好 :) 我在没有寻求 SO 帮助的情况下成功完成了最后 6 次尝试,但我再次陷入困境 :(
最佳答案
Don't match ID if it is preceeded with GR
如果你想匹配 ID
那在单词的末尾,并且前面没有 GR
, 使用
(?<!GR)ID\b
请注意 (?<!GR)
是一个负向后向,如果后向模式在字符串中当前位置的左侧找到匹配项,则匹配失败。如果你使用 [^GR]
, 一个否定的字符类,然后只检查一个符号/字符(除 G
和 R
之外的字符),而不是字符序列。
关于c# - 正则表达式匹配所有除非?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37052326/