我的正则表达不是那么热,所以对这个非常新的问题道歉。
我正在使用String.replace将字符串“../../libs/bootstrap/less”更改为“bootstrap”。目前我的正则表达式如下:
myString.replace(\.\.\/\.\.\/libs\/bootstrap\/less/g, 'bootstrap);
我认为必须有更好的方法来逃避这条道路。是否可以像/\“...... / ..
答案 0 :(得分:1)
据我所知,正则表达式中没有全局/块转义。如果您想避免在此实例中转义,您可以选择执行以下操作:
myString.replace(/([.]{2}[/]){2}libs[/]bootstrap[/]less/g, "bootstrap");
。和/在字符集[]
中指定时不需要转义答案 1 :(得分:0)
为了使正则表达式中的 更容易引用,您可以使用以下代码:
RegExp.quote = function(str) {
return str.replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1");
};
然后你像这样应用它:
var expr = RegExp.quote('../../libs/bootstrap/less');
mystring.replace(new RegExp(expr, 'g'), 'bootstrap');