我有此正则表达式代码,希望它与任何以-
开头的链接匹配
这是我的正则表达式代码
/-(\s+)?[-a-zA-Z0-9@:%_\+.~#?&//=]{1,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?/
它已经匹配了这些链接
- www.demo.com
- http://foo.co.uk/
但这不符合这些
- WWW.TELEGRAM.COM
- WWW.c.COM
- t.mE/rrbot
您可以转到此链接进行检查http://regexr.com/3gnb1
最佳答案
有两种可能的解决方法。您的正则表达式当前在域名中不包含大写字母,因此您必须将.[a-z]{2,4}
替换为.[a-zA-Z]{2,4}
,或者使整个正则表达式不区分大小写。在后一种情况下,您也可以从以前的组中删除A-Z
,从而导致:
/-(\s+)?[-a-z0-9@:%_\+.~#?&//=]{1,256}\.[a-z]{2,4}\b(\/[-a-z0-9@:%_\+.~#?&//=]*)?/i
关于javascript - JavaScript正则表达式以大写形式匹配链接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46120776/