-1

我正在尝试创建一个动态正则表达式来选择基于段或整个 URL 的 URL。

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

match()需要转换里面的文本,以便\在它们前面有特殊字符,例如"\/"。我找不到将 URL 转换为执行此操作的函数?有吗?

如果不是,哪些字符需要\在前面?

4

2 回答 2

2

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

var specials = /[*.+?|^$()\[\]{}\\]/g;
var url_re = RegExp(url.replace(specials, "\\$&"));
于 2012-06-19T00:48:14.297 回答
0

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

更多信息主要是为了抢先发表评论和投票:我真的不知道-作为一个特殊角色来自哪里。它只有在字符类括号内[并且]您已经转义时才特别。如果您想包含有时特殊的字符(OP 没有),这些字符也将包含前瞻/后视字符,其中包括=和.<>

于 2012-06-19T00:45:03.827 回答