Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#正则表达式,不包括字符(!)_C#_Regex - Fatal编程技术网

C#正则表达式,不包括字符(!)

C#正则表达式,不包括字符(!),c#,regex,C#,Regex,下面的正则表达式运行良好: \bG1\b 但我想修改它,使其在前面有一个!的情况下不会找到G1实例!。例如: ='Plan1'!G1 --> NOT match! =G1*G2 --> MATCH! ='Plan2'!A1+'Plan2'!G1 --> NOT match! 这个正则表达式将如何使用?您需要一个: (? 其中,子表达式是任何正则表达式模式。若要成功匹配,子表达式不得出现在当前位置左侧的输入字符串处。但是,

下面的正则表达式运行良好:

\bG1\b
但我想修改它,使其在前面有一个!的情况下不会找到G1实例!。例如:

='Plan1'!G1            --> NOT match!
=G1*G2                 --> MATCH!
='Plan2'!A1+'Plan2'!G1 --> NOT match!
这个正则表达式将如何使用?

您需要一个:

(?
其中,子表达式是任何正则表达式模式。若要成功匹配,子表达式不得出现在当前位置左侧的输入字符串处。但是,匹配结果中不包括与子表达式不匹配的任何子字符串

所以,使用

(?<!!)\bG1\b
^^^^^^
(?
见

您需要一个:

(?
其中,子表达式是任何正则表达式模式。若要成功匹配,子表达式不得出现在当前位置左侧的输入字符串处。但是,匹配结果中不包括与子表达式不匹配的任何子字符串

所以,使用

(?<!!)\bG1\b
^^^^^^
(?
见