regex - 使用正则表达式替换未转义的引号

标签 regex replace escaping

我正在尝试使用正则表达式搜索和替换来查找和修复任何带有转义问号的未转义引号。这不是任何特定语言 - 只是使用正则表达式在 Sublime Text 2 中搜索和替换。

我可以用这个正则表达式找到它们:

([a-zA-Z0-9!@#$%^&*()_+=-\?><:;\/])\"

尝试替换让我有些头疼。我认为这会起作用:

$0\\\"

但它添加了一个额外的引号(或者以某种方式将前一个引号留在那里)。

例如,

e"

变成了

e"\"

而不仅仅是

e\"

什么,嘿?我似乎无法在替代品中找到有效的组合!

最佳答案

在替换中$0将是对整个匹配的引用,包括引用。看来您应该使用 $1 来代替,它将成为第一个捕获组,因此只需使用引号前面的字符即可。因此,您的替换字符串将为 "$1\\\""

关于regex - 使用正则表达式替换未转义的引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23771520/

相关文章:

javascript - 是否有不同类型的转义序列?

Javascript onClick 函数 SyntaxError : expected expression, 得到 '}'

JavaScript 找到 "/"并替换为 "_"

Python 正则表达式搜索总是错误的?

java - 如何即时搜索/替换文件?

c# - 用一个衬里替换c#中字符串中的多个字符

java - 如何在java字符串中搜索特殊字符?

regex - Perl 重写旧的 URLS 以对 SEO 友好

c++ std::regex 与预期不匹配

python - Pandas python 用字符串替换空行