我正在寻找一个单行正则表达式,它应该将所有双引号转换为括号内的单引号。
前任:
<span onclick="javascript:myfunction("param(s)1", "param(s)2")"
我希望将上面的转换为
<span onclick="javascript:myfunction('param(s)1', 'param(s)2')"
我是正则表达式的新手。请帮忙!
我正在寻找一个单行正则表达式,它应该将所有双引号转换为括号内的单引号。
前任:
<span onclick="javascript:myfunction("param(s)1", "param(s)2")"
我希望将上面的转换为
<span onclick="javascript:myfunction('param(s)1', 'param(s)2')"
我是正则表达式的新手。请帮忙!
执行此操作的函数是:
function replaceQuotes(inputString)
{
var output = '';
var inbrackets = 0;
for (i = 0; i < inputString.length; i++)
{
var currentChar = inputString.charAt(i);
switch (currentChar)
{
case '\"':
if (inbrackets > 0)
output += '\'';
else
output += '\"';
break;
case '(':
inbrackets++;
output += '(';
break;
case ')':
inbrackets--;
output += ')';
break;
default:
output += currentChar;
break;
}
}
return output;
}
如果您想处理完整的 HTML,您将需要比这更复杂的东西。
看来您真的想在双引号内替换双引号,那又如何:
function replace_inside_quotes(str) {
var regex_quotes = /"(.*)"(.*)"(.*)"/;
while(regex_quotes.test(str)) {
str = str.replace(regex_quotes, '"$1\'$2\'$3"');
}
return str;
}