如何编写正则表达式匹配指定ABCD格式URL并排除带下划线后缀的地址
正则匹配解决方案
你可以根据实际匹配需求选择以下两种规则,均可实现排除下划线后缀URL的要求:
优先方案(严格匹配指定两类URL)
如果明确仅需要匹配ABCD结尾或ABCD.view结尾的URL,使用以下规则:
^https://.*ABCD(?:\.view)?$
规则逻辑:
^https://锁定URL的协议头起始位置.*匹配协议头和ABCD之间的任意内容(?:\.view)?是非捕获可选组,代表ABCD后可以跟.view后缀,也可以不跟$匹配字符串结尾,从规则上避免ABCD后出现下划线等其他多余字符
扩展方案(仅排除ABCD后接下划线的场景)
如果允许ABCD后出现除了下划线之外的其他合法后缀,使用否定前瞻规则:
^https://.*ABCD(?!_).*$
规则逻辑:
(?!_)是否定前瞻断言,校验ABCD后紧跟的第一个字符不能是下划线- 后缀的
.*允许ABCD后接非下划线开头的任意合法内容
匹配效果验证
针对你提供的4类URL,两种方案的匹配结果完全符合需求:
https://.*ABCD:匹配成功https://.*ABCD.view:匹配成功https://.*ABCD_1:匹配失败https://.*ABCD_r:匹配失败
内容的提问来源于stack exchange,提问作者Juyeon
相关产品推荐
相关产品推荐

