在正则表达式中大量逃脱

时间:2012-10-18 01:38:31

标签: javascript regex

我的正则表达不是那么热,所以对这个非常新的问题道歉。

我正在使用String.replace将字符串“../../libs/bootstrap/less”更改为“bootstrap”。目前我的正则表达式如下:

myString.replace(\.\.\/\.\.\/libs\/bootstrap\/less/g, 'bootstrap);

我认为必须有更好的方法来逃避这条道路。是否可以像/\“...... / ..

2 个答案:

答案 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');