我正试图提出一个匹配MY_EXAMPLE的正则表达式,但是如果它的一侧或两侧都有A-Z_',我不希望它与之匹配。
例如:
MY_EXAMPLE
(MY_EXAMPLE)
abcdefMY_EXAMPLEabcdef
'MY_EXAMPLE'
MY_EXAMPLE_
MY_EXAMPLE_EXAMPLE
HELLO_MY_EXAMPLE
MY_EXAMPLEABCDEF
仅前三个应匹配,并且仅应匹配MY_EXAMPLE
部分。
到目前为止,我最好的是:
[^A-Z'_]MY_EXAMPLE[^A-Z'_]
这与第二个和第三个匹配,但它也与我不匹配的任何一个字符匹配,这也是为什么第一个不匹配的原因,因为我的正则表达式还说一个字符必须存在于任一侧。
这是一个图像示例: 左边是我的正则表达式匹配的东西,右边是我想要的东西 匹配。image
答案 0 :(得分:0)
您的正则表达式需要否定的展望和否定的展望。您可以使用此正则表达式,
(?<![A-Z_'])(MY_EXAMPLE)(?![A-Z_'])
第1组仅匹配MY_EXAMPLE