我正在尝试执行正则表达式,该正则表达式将在域列表中搜索并检查所提供的域是否为白名单
假设我的主要域名www.testDomain.com
我需要一个正则表达式来匹配所有子域并具有不同的扩展范围,我已经尝试过了,并且效果很好,这是正则表达式:
"([a-z0-9]*.)([a-z0-9]*.)testDomain.(com|cn|local)"
但我有一种情况,我有以下领域
xxx.test-testDomain.com
我需要匹配准确的
test-
文本或什么都不匹配,因为我可能有一个多米纳xxx.anyString-testDomain.com
,不允许通过,我已经尝试了以下一项
([a-z0-9]*.)((?!.test-|(?!)))testDomain.(com|cn|local)
但是行不通,有什么建议吗?
情况:
http://abc.impersonate-testdomain.com -- shouldn't pass
http://testdomain.com -- ok
http://abc.testdomain.com -- ok
https://abc.testdomain.com -- ok
https://abc.test-testdomain.com -- ok
http://abc.testdomain.local:8081 -- ok
最佳答案
请尝试以下正则表达式:
([a-z0-9]*\\.)?(test-)?testdomain.(com|cn|local)