我有此正则表达式代码,希望它与任何以-开头的链接匹配

这是我的正则表达式代码

/-(\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/

10-09 15:28
查看更多