16

只是作为序言,我已经阅读了很多关于这个的问题,但我找不到答案(至少在我的挖掘中)。如果我确实错过了,请随时指出!

我知道如何使用正则表达式,事实上我正在寻找我正在搜索的文本。但是,当我尝试按照其他问题的建议"\1MyAppendedTextHere"进行替换时,它只会删除匹配的模式并添加\1. (我查找的先前问题表明"\1"notepad ++是如何做到的)。这有改变吗?难道我做错了什么?

这是它的样子:

find: name[A-Z_0-9]+
replace: \1_SUFFIX

任何帮助表示赞赏!

4

1 回答 1

23

\1引用第一个捕获组的内容,这意味着搜索正则表达式中的第一组括号。你的正则表达式中没有一个,所以\1没有什么可参考的。

如果\0您想引用整个匹配项,或者在正则表达式的相关部分周围添加括号,请使用。

find: name[A-Z_0-9]+
replace: \0_SUFFIX

nameABC变为nameABC_SUFFIX.

使用捕获组,您可以执行以下操作

find: name([A-Z_0-9]+)     
replace: \1_SUFFIX

这将替换nameABCABC_SUFFIX.

于 2013-10-24T20:04:50.093 回答