部分单词的Regex否定



我正在使用SublimeText对大约20000个HTML文件进行regex搜索,并试图找出某些CSS类是否存在。不幸的是,有些类的名称相似,我想忽略那些类。例如,我正在寻找包含类"refine-search"的文件,但不包含"txt_refine_search"。

我尝试了refine_search(?!txt_refine_search),但它仍然找到了"txt_refine_search"。

我应该使用什么查询?

您的refine_search(?!txt_refine_search)示例搜索refine_search,然后搜索txt_refine_search。正如你所发现的,那是行不通的。

你可能想尝试一个消极的背后看。Sublime Text使用正则表达式的PCRE风格,它确实支持后备语句。它看起来像(?<!txt_)refine_search,并且它会发现refine_search前面没有txt_

最新更新