^(?!\s*\/\/)(?=.*console\.log).*$
这个正则表达式的含义是:
^
:表示字符串开始的位置(?!\s*\/\/)
:是一个负向零宽断言,表示断言后面不应该是以零个或多个空白字符开始的 "//" 字符串,也就是说不匹配以 "//" 开头的注释行(?!)
:是一个零宽断言,表示断言后面不应该匹配括号内的内容\s*
:表示匹配零个或多个空白字符\/\/
:表示匹配 "//" 字符串,需要使用转义字符\/
来匹配 "/"
(?=.*console\.log)
:是一个正向零宽断言,表示断言后面应该包含 "console.log" 字符串(?=...)
:是一个零宽断言,表示断言后面应该匹配括号内的内容.*
:表示匹配任意字符,零次或多次console\.log
:匹配 "console.log" 字符串,需要使用转义字符\.
来匹配 "."
.*$
:表示匹配任意字符,零次或多次,直到字符串结束
在 Notepad++ 中,你可以打开 "查找" 窗口,然后选择 "正则表达式" 模式,将上面的正则表达式复制粘贴到 "查找内容" 的输入框中。接着,你可以点击 "查找下一个" 按钮来查找符合条件的文本。
如果你想要替换这些符合条件的文本,可以在 "替换" 窗口中使用类似的正则表达式和替换字符串。
如果你想在每行开头添加 "//" 的同时保留原来的内容,你可以在正则表达式中使用一个分组 ()
来匹配需要保留的内容,并在替换字符串中使用 $1
来引用这个分组。下面是一个修改过的正则表达式和替换字符串:
正则表达式:^(?!\s*\/\/)(?:(?<=^)|(?<=\n))(\s*console\.log)
替换字符串://$1
这个正则表达式的含义和之前的一样,只是多了一个匹配任意字符的分组 (\s*console\.log)
。而替换字符串中的 $1
表示引用第一个分组匹配的内容。这样,在替换的时候,匹配的内容会被保留,并在行首添加 "//"。