正则表达式友好的URL

时间:2012-06-19 00:37:32

标签: javascript regex

我正在尝试创建一个动态正则表达式,以根据细分或整个网址选择网址。

例如,我需要获得var.match(/http:\/\/www.something.com\/something/)

需要转换match()内的文字,以便特殊字符在其前面有\,例如"\/"。我无法找到转换URL的函数来执行此操作?有吗?

如果没有,前面需要\的字符是什么?

2 个答案:

答案 0 :(得分:2)

我在生成动态正则表达式时使用它来转义字符串:

var specials = /[*.+?|^$()\[\]{}\\]/g;
var url_re = RegExp(url.replace(specials, "\\$&"));

答案 1 :(得分:0)

( ) [ ] ? * ^ $ \ . + |,在您的情况下,/,因为您将其用作匹配中的分隔符。

进一步的信息主要是抢先评论和downvotes:我真的不知道-来自哪个特殊角色。只有在您已经转义的字符类括号[]内时才会有特殊之处。如果您想要包含有时特殊的字符(OP没有),其中包括前瞻/后方字符,其中包括=<>