[英]Replacing all string enclosed with " or '
text = abc "def" g'i' jklm'no' p"qrs uv w"
应该成为abc !string! g !string! jklm!string! p !string!
abc !string! g !string! jklm!string! p !string!
到目前为止我有什么:
if(/(?:'[^']+'|"[^"]+")/.test(text){
text = text.replace(/(?:'[^']+'|"[^"]+")/, "!string!");
}
(杰瑞的回答)
它只替换第一次出现的用''或'“括起来的文本。 这实际上与我之前的问题有关,但我认为这更复杂: 如何在正则表达式中搜索“或”的第二次出现?
g修饰符执行全局匹配
text = text.replace(/(?:'[^']+'|"[^"]+")/g, "!string!");
尝试这个
str = "abc \"def\" g'i' jklm'no' p\"qrs uv w\"";
mystring = str.replace(/("|')+[a-z ]+("|')/g, '!sring!');
alert(mystring);
输出 :
abc !string! g !string! jklm!string! p !string!
使用全局参数“g”
str.replace(/blue/g,"red");
这个怎么样
var str = "abc \"def\" g'i' jklm'no' p\"qrs uv w\"";
var regexp = /("|')[a-z ]+("|')/g;
console.log(str.replace(regexp,'!string!'));
结果: abc !string! g!string! jklm!string! p!string!
abc !string! g!string! jklm!string! p!string!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.