【发布时间】:2013-05-15 18:09:40
【问题描述】:
我正在使用从 regexlib 获得的正则表达式模式来验证相对 url。在他们的网站上,您可以test 该模式以确保它符合您的需求。一切都在他们的网站上运行良好,一旦我使用我的模式,我就会收到错误消息:
字符类中的范围无效
我知道这个错误通常意味着连字符被错误地用于表示范围并且没有正确转义。但在这种情况下,因为它可以在他们的网站上运行,我很困惑为什么它不能在我的网站上运行。
var urlRegex = new RegExp('^(?:(?:\.\./)|/)?(?:\w(?:[\w`~!$=;\-\+\.\^\(\)\|\{\}\[\]]|(?:%\d\d))*\w?)?(?:/\w(?:[\w`~!$=;\-\+\.\^\(\)\|\{\}\[\]]|(?:%\d\d))*\w?)*(?:\?[^#]+)?(?:#[a-z0-9]\w*)?$', 'g');
注意:
如果您要从他们的网站测试正则表达式(使用上面的链接),请务必将 Regex Engine 下拉列表更改为 Client-side Engine 并将 Engine 下拉列表更改为 Javascript。
【问题讨论】:
标签: javascript regex