Javascript 正则表达式友好URL
我试图创建一个动态正则表达式,根据一个段或整个URL来选择URL 例如,我需要获取Javascript 正则表达式友好URL,javascript,regex,Javascript,Regex,我试图创建一个动态正则表达式,根据一个段或整个URL来选择URL 例如,我需要获取var.match(/http:\/\/www.something.com\/something/) match()中的文本需要转换,以便特殊字符前面有\,例如“\/”。我找不到一个函数来转换URL来执行此操作?有吗 如果不是,哪些字符需要前面有\?()[]?*^$\.+|
var.match(/http:\/\/www.something.com\/something/)
match()
中的文本需要转换,以便特殊字符前面有\
,例如“\/”
。我找不到一个函数来转换URL来执行此操作?有吗
如果不是,哪些字符需要前面有\
?()[]?*^$\.+|在您的例子中,/
,因为您在匹配中使用它作为分隔符
更多信息主要是为了抢先评论和否决票:我真的不知道作为一个特殊角色,-
从哪里来。只有在您已经转义的字符类括号内[
和]
时,它才特别。如果您想包括有时特殊的字符(OP没有),也包括前向/后向字符,其中包括=
,
,,我在生成动态正则表达式时使用它来转义字符串:
var specials = /[*.+?|^$()\[\]{}\\]/g;
var url_re = RegExp(url.replace(specials, "\\$&"));
因此,您正在寻找JavaScript正则表达式转义函数和/或JS正则表达式中有意义的字符?列表是@djechlin中的
[.?*+^$[\]\\(){}\124;-]
。这不是一个否决投票的理由(如果是你的话)。谢谢你,这正是我想要的for@minitech在JS中?我知道在grep中,他们做任何事情都必须在前面加上一个“\”,我认为这是他们没有做的白鹭。j{1,5}
匹配j
的1-5个实例。不,它不需要前面的\
,至少在JavaScript中,或者在我使用过的任何其他语言中。。。您是否考虑对{}
使用不同的用法?相同的用法。普通的老grep做了一件愚蠢的事,他们算是正常的,在前面加一个反斜杠给了他们特殊的意义。Perl可以做到这一点吗?我不记得了。我记得1)在Perl中有12个脏字符,2)它们都是非常基本的正则表达式结构,所以我列出了我发布的列表。