【发布时间】:2011-05-03 15:41:29
【问题描述】:
可能重复:
Regular Expression to escape double quotes inside single quotes
我需要一个正则表达式(没有其他语言!!,最好是 perl 语法 REGEX 或 PCRE 语法 REGEX)将所有双引号 " 替换为单引号字符串中的 \"。这是一个示例字符串(文件的一部分):
var baseUrl = $("#baseurl").html();
var head = '<div id="finishingDiv" style="background-image:url({baseUrl}css/userAd/images/out_main.jpg); background-repeat: repeat-y; ">'+
'<div id="buttonbar" style="width:810px; text-align:right">';
(请注意:它们不必成对成对“someValueBetween”,因此一个单引号字符串中可能存在奇数个双引号。)
这应该是上面最后一行的最终结果:
'<div id=\"buttonbar\" style=\"width:810px; text-align:right\">';
提前致谢
***更新: 为了清楚起见,我只想要一个正则表达式,而不是 perl 程序。正则表达式可以是 perl 正则表达式语法或 PHP PCRE 语法(据我了解,这是与 perl 正则表达式语法非常接近的语法)。目标是您可以在 IDES 中运行正则表达式在搜索和替换支持正则表达式的菜单(如 Eclipse 和 PhpEd f.e)!!
换句话说,我想要一个正则表达式,我将把它放在搜索 IDE 字段中,从而在单引号字符串中为我提供完全未转义的 "。在 Eclipse 的替换字段中,我可以输入 \$1 来逃避它们。
他们应该在 Regexbuddy 或 regex coach 工作,所以我可以测试他们。
至少这是计划:)
【问题讨论】:
-
正则表达式比正则表达式字符串的斜线更容易——您是否正在寻找一个将斜线“s”的 javascript 函数?
-
不,我特别在寻找正则表达式,而不是 javascript、php 或 perl 函数。它应该是一个简单的正则表达式,它在一个单引号字符串中检索所有未正确转义的 "s 以用 \" 替换它们(可能是 $1 或其他东西)
标签: regex perl escaping quotes substitution