这些是我的测试字符串:
getObject('modSnippet')
getObject($prefix . 'modSnippet'
getObject($classPrefix . 'modSnippet'
我想匹配第一个,但不想匹配其他两个。
我已经尝试过这两种方法:
(?!prefix|Prefix)getObject
getObject(?!prefix|Prefix)
但是两者都匹配所有三个测试字符串。我显然做错了什么,但我似乎无法做到这一点。
先行模式应放置在子模式匹配的位置。在您的测试字符串中,可能会出现非单词字符,后跟
getObject
,然后可能出现 prefix
,因此先行断言中的子模式应考虑这些非单词字符:
getObject(?!\W+\w*[Pp]refix)