在记事本++转义引号替换引号字符串中引号?(Replace quotes inside quoted

2019-10-21 19:39发布

我使用记事本+ +找到(".*)"(.*)取而代之的是\1\"\2 ,但它似乎并没有工作。我不知道为什么。

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

编辑:在我的情况下,收盘报价始终是行的末尾,以便将(".*)"(.*"$)工作?

EDIT2:也第一次报价之前包含一个逗号,所以我会用(,".*)"(.*"$)虽然它可能不会在某些情况下工作,但我认为它会与我的文件工作。

现在有与更换不添加问题\"它只是增加一些空间。

Answer 1:

它应该工作...你只需要做一点点固定...

查找内容的正则表达式应该是("[^"]*)("\w*)(")([^"]*")
表达替换\1\\\2\\\3\4

确保你选择的搜索模式是“正则表达式”

说明...

这是相当棘手 - 我认为引用的文本中的报价只是一个字。 如果假设别的东西变得非常难以确定。

你需要找到一个
"其次是
[^"]* -任何数量的字符,它们不是一个" ,然后
("\w*)(") -一个引用字,然后最终([^"]*") -的非引号字符的任何附加号码+最终报价

这是重要的,因为正则表达式匹配是贪婪的默认,以及.*将继续匹配所有字符,包括"直到字符串的结束(见链接 )

在替换字符串,你需要有\\表示单个\



文章来源: Replace quotes inside quoted string with escaped quotes in notepad++?