Joh*_*ohn 5 c# regex substring regex-lookarounds
假设我想要:
TESTGRID - NOT MATCH
testgrid - NOT MATCH
ACTIVEID - MATCH
activeID - MATCH
testRID - MATCH
Run Code Online (Sandbox Code Playgroud)
我试过了:
(?!([^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
Run Code Online (Sandbox Code Playgroud)
这些都不起作用。
我发誓我在正则表达式方面做得越来越好,尽管:)我已经成功地完成了最后 6 次尝试,而没有寻求 SO 的帮助,但我再次陷入困境:(
如果 ID 前面带有 GR,则不匹配 ID
如果您要匹配ID位于单词末尾且前面不带 的GR,请使用
(?<!GR)ID\b
Run Code Online (Sandbox Code Playgroud)
请参阅此正则表达式演示
请注意,如果lookbehind 模式在字符串中当前位置的左侧找到匹配项,则这(?<!GR)是一个负lookbehind ,匹配失败。如果您使用[^GR],一种否定的字符类,则仅检查一个符号/字符(除了G和之外的字符R),而不是字符序列。