用记事本++中的转义引号替换引号字符串中的引号?

Replace quotes inside quoted string with escaped quotes in notepad++?

我正在使用 Notepad++ 查找 (".*)"(.*) 并将其替换为 \" 但它似乎不起作用。不知道为什么。

示例:
Someone said "My name is "sean""
我希望它是:
Someone said "My name is \"sean\""

编辑:在我的例子中,结束引号总是在行尾所以 (".*)"(.*"$) 行得通吗?

Edit2:而且第一个引号前面有一个逗号,所以我将使用 (,".*)"(.*"$) 虽然它在某些情况下可能不起作用,但我认为它适用于我的文件。

现在替换有问题,它不添加 \" 它只是添加一些 space。

它应该可以工作...您只需要做一些修复...

Find what 正则表达式应该是 ("[^"]*)("\w*)(")([^"]*")
替换为表达式应该是\\

确保 select 搜索模式为 "Regular expression"

说明...

这很棘手 - 我假设引号内引用的文本只是一个单词。如果你假设其他东西,就很难确定。

你需要找到一个
" 其次是
[^"]* - 不属于 "
的任意数量的字符 ("\w*)(") - 一个引用的词,然后最后 ([^"]*") - 任何额外数量的非引号字符 + 最终引号

这很重要,因为默认情况下正则表达式匹配是贪婪的,并且 .* 会继续匹配所有字符,包括 " 直到字符串结尾(参见 link )

在替换字符串中,您需要 \ 来表示单个 \