我正在使用Notepad ++查找(".*)"(.*)
并将其替换为\1\"\2
,但它似乎不起作用。我不知道为什么。
例:
Someone said "My name is "sean""
我希望它是:
Someone said "My name is \"sean\""
编辑:在我的情况下,结束引用总是在行尾,所以(".*)"(.*"$)
会工作吗?
Edit2:第一个引号前面都有一个逗号,所以我会使用(,".*)"(.*"$)
虽然在某些情况下它可能不起作用,但我认为它适用于我的文件。
现在存在替换问题,它没有添加\"
它只是添加了一些空间。
答案 0 :(得分:1)
应该有用......你只需要做一点修理......
查找正则表达式应为("[^"]*)("\w*)(")([^"]*")
替换为表达式应为\1\\\2\\\3\4
确保选择搜索模式为"正则表达式"
<强>解释... 强>
这非常棘手 - 我假设引用的文本WITHIN引号只是一个单词。如果你假设别的东西,就很难确定。
你需要找到一个
"
后跟
[^"]*
- 任意数量的字符不是"
然后是
("\w*)(")
- 一个引用的词,然后是最后的
([^"]*")
- 任何额外数量的非引用字符+最终引用
这很重要,因为默认情况下正则表达式匹配是贪婪的,.*
将继续匹配所有字符,包括"
直到字符串结尾(参见link)< / p>
在替换字符串中,您需要\\
来表示单个\