4

使用我选择的文本编辑器 Sublime 2,我想搜索具有未注释警报的代码。所以我需要一个正则表达式来找到“alert”但不是“//alert”或“// alert”。我不知道如何反转然后结合两个结果。Sublime Text 对正则表达式使用 Boost 语法。感谢您的任何帮助。

4

2 回答 2

9

您可以搜索前面没有的文本//,因此

(?<!\/\/\s?)alert

编辑:如果编辑器不支持变量后视,您必须在不同的后视中指定所有可能性

(?<!\/\/\s)(?<!\/\/)alert
于 2012-09-27T09:34:00.107 回答
6

试试这个:

(?<!//)(?<!// )alert

Boost 语法基于 Pearl RegExp。(?<!text)因此,应该支持消极的后视。在这个例子中,我使用了两次否定的lookbehind(有和没有空格),因为lookbehind 文本必须是固定长度的。

您可以在此处阅读有关 RegExp 中的lookaraound 功能的更多信息:
http ://www.regular-expressions.info/lookaround.html

于 2012-09-27T09:38:07.767 回答