notepad++ 正则表达式查找、替换并保持匹配

gra*_*der 1 regex notepad++

好吧,在我得到“已回答”之前,我已经找到并尝试了在以下位置找到的每个排列:

使用正则表达式替换时,如何保留匹配字符串的一部分?

使用 Notepad++ Regex 查找并仅替换找到的文本的一部分

我有这些行:

new MyObject("22222,11,21),
new MyObject("22223,12,22),
new MyObject("22224,13,23),
new MyObject("22225,14,24),
Run Code Online (Sandbox Code Playgroud)

我试图将“结束引号”放在 22222、22223、22224 和 22225 周围:

new MyObject("22222",11,21),
new MyObject("22223",12,22),
new MyObject("22224",13,23),
new MyObject("22225",14,24),
Run Code Online (Sandbox Code Playgroud)

我在 notepad++ 中输入的“Find What”值有效(转义双引号加 5 位数字)。

\"\d{5}

对于“替换为”(基于我在前两篇 SOF 文章中找到的内容),我尝试过:

(这些只是为了测试一下)

aaa$1bbb
aaa$1$2bbb
aaa$1$2$3bbb
Run Code Online (Sandbox Code Playgroud)

aaa\1bbb
aaa\1\2bbb
aaa\1\2\3bbb
Run Code Online (Sandbox Code Playgroud)

显然,我想要的(以及我认为应该有效的)如下(转义双引号,然后是“1”的占位符,以及第二个转义双引号)

\"\1\"\
Run Code Online (Sandbox Code Playgroud)

或者

\"$1\"\
Run Code Online (Sandbox Code Playgroud)

我的搜索模式是“常规快递”,并且我已打开和关闭“.matches newline”。

Notepad++ v7.7.1(64位)

zze*_*nnn 6

您需要捕获捕获组中的匹配:

(\"\d{5})
Run Code Online (Sandbox Code Playgroud)

将其替换为捕获的值和引号:

\1"
Run Code Online (Sandbox Code Playgroud)

例如

在此输入图像描述