我有很多PHP类文件,其中包含findFoo()
等方法。我想找到(使用我的IDE或grep的RegEx搜索)所有这些出现,以便用find()
替换它们。适当的RegEx为find[a-zA-Z0-9]+\(
。但是有一些方法(例如findBarByBuz()
)我想从搜索中排除。它是" By
"或" With
"在名称中。
如何构建一个与"find" + "stringWithoutByAndWithoutWith" + "("
等字符串匹配的RegEx?
答案 0 :(得分:2)
您可以使用否定前瞻:
/find(?!\w*(?:by|with))\w+\(/i
在0或更多字符后找到(?!\w*(?:by|with))
或by
时, with
会导致匹配失败。 \w
相当于[a-zA-Z0-9_]
。
/i
用于不区分大小写的匹配。