我正在尝试创建一个动态正则表达式,以根据细分或整个网址选择网址。
例如,我需要获得var.match(/http:\/\/www.something.com\/something/)
需要转换match()
内的文字,以便特殊字符在其前面有\
,例如"\/"
。我无法找到转换URL的函数来执行此操作?有吗?
如果没有,前面需要\
的字符是什么?
答案 0 :(得分:2)
我在生成动态正则表达式时使用它来转义字符串:
var specials = /[*.+?|^$()\[\]{}\\]/g;
var url_re = RegExp(url.replace(specials, "\\$&"));
答案 1 :(得分:0)
( ) [ ] ? * ^ $ \ . + |
,在您的情况下,/
,因为您将其用作匹配中的分隔符。
进一步的信息主要是抢先评论和downvotes:我真的不知道-
来自哪个特殊角色。只有在您已经转义的字符类括号[
和]
内时才会有特殊之处。如果您想要包含有时特殊的字符(OP没有),其中包括前瞻/后方字符,其中包括=
,<
和>
。