部分单词的正则表达式否定

Regex Negation on part of word

我正在使用 SublimeText 对大约 20,000 个 HTML 文件进行正则表达式搜索,并试图找出某些 CSS class 是否存在。不幸的是,一些 classes 的名称相似,我想忽略那些。例如,我要查找包含 class "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_