我想在JavaScript中编写正则表达式。所以字符串可以替换,但除了第一个和最后一个。
e.g。
str="'Marys' Home'"
我想在JavaScript中使用正则表达式,因此输出可以是:
"'Marys\' Home'"
,除了第一个和最后一个单引号'
替换为\'
。
Python中的类似解决方案我发现:Regular expression replace except first and last characters
答案 0 :(得分:6)
您可以使用:
var str = "'Marys' Home'";
var result = str.replace(/(?!^)(')(?!$)/g, '\\$1');
//=> 'Marys\' Home'
答案 1 :(得分:0)
var str = "'Marys' Home'"
function replace(str, pattern, replacement) {
var firstIndex = str.indexOf(pattern)
, lastIndex = str.lastIndexOf(pattern)
, re = new RegExp(pattern, 'g')
if (firstIndex < lastIndex)
str = str.substr(firstIndex + pattern.length, lastIndex)
return str.replace(re, replacement)
}
console.log(replace(str, "'", "\'"))
你正在寻找这样的东西吗?