【发布时间】:2014-08-20 16:30:21
【问题描述】:
如何使用 Notepad++ 为每一行添加左括号和右括号
我试图找到带有这个表达式的行:(.+)。
然后我替换为(\1)。当我尝试将其替换为 '\1'
但是对于(),它不起作用。
谢谢
【问题讨论】:
如何使用 Notepad++ 为每一行添加左括号和右括号
我试图找到带有这个表达式的行:(.+)。
然后我替换为(\1)。当我尝试将其替换为 '\1'
但是对于(),它不起作用。
谢谢
【问题讨论】:
您也必须转义替换字符串中的括号:
所以将^(.+)$ 替换为\(\1\)。
括号是Notepad++专用的,AdrianHHH找到了解释:
它使用 boost regex 风格,它使用以下语法替换字符串:Boost-Extended Format String Syntax
【讨论】:
正则表达式中的+ 表示上一项或多项,. 表示任何字符。您应该使用表达式^(.*)$,其中* 表示前一项的零个或多个。我喜欢将^ 和$ 添加到表达式中,以明确我想要行的开头和结尾,尽管在这种情况下它们是不必要的。
替换文本应该(如其他答案所示但未解释)圆括号已转义。替换应该是\(\1\)。 (刚刚在 Notepad++ 6.6.7 中检查,之前在此答案中所述的双圆括号 ((\1)) 不起作用。替换字符串中的大括号必须是 \( 和 \)。)
Notepad++ 替换表达式可能很复杂,圆括号引入了变化。请参阅 Multiple word search and replace in notepad++ 获取一个示例和更多文档的链接。
【讨论】:
()替换空行