[英]Regex replace a character inside
如何在javascript中编写一个正则表达式,以“ url()”内的某个字符替换所有内容?
字符串示例
"blabla url(hello;you);"
我想将url()中的“;”符号替换为其他内容
"blabla url(hello[]you);"
嗯,也许是这样的:
var result = "blabla url(hello;you)".replace(/url\(([^)]*)\)/, function(_, url) {
return "url(" + url.replace(/;/g, "[]") + ")";
});
我对“ .replace()”使用了两次调用,这可能不是必需的,但它使我更容易思考。 外部的隔离“ url()”内容,然后内部的替换修复分号。
var str = "blabla url(hello;you;cutie);";
str = str.replace( /url\(([^)]+)\)/g, function(url){
return url.replace( /;/g, '[]' );
});
// "blabla url(hello[]you[]cutie);"
regEx似乎有点沉重。 在大多数浏览器中,split-join可能更快。
var result = "blabla url(hello;you)".split(';').join('[]');
对于所需的regEx,我想我会这样做:
var result = "blabla url(hello;you)".replace(/;/,'[]');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.