使用我选择的文本编辑器Sublime 2,我想搜索具有未注释警报的代码。所以我需要一个正则表达式找到“警报”但不是“// alert”或“// alert”。我不知道如何反转,然后结合两个结果。 Sublime Text使用正则表达式的Boost语法。谢谢你的帮助。
答案 0 :(得分:9)
您可以搜索不在//
之前的文字,因此
(?<!\/\/\s?)alert
编辑: 如果编辑器不支持变量lookbehinds,则必须在不同的lookbehinds中指定所有可能性
(?<!\/\/\s)(?<!\/\/)alert
答案 1 :(得分:6)
试试这个:
(?<!//)(?<!// )alert
Boost语法基于Pearl RegExp。因此,应支持负面的后视(?<!text)
。在这个例子中,我使用负向lookbehind两次(有和没有空格),因为lookbehind文本必须是固定长度。
您可以在此处阅读有关RegExp中的lookaraound功能的更多信息:
http://www.regular-expressions.info/lookaround.html