我正在尝试执行一个正则表达式,它将在域列表中搜索并检查提供的域是否是白名单
假设我的主域 www.testDomain.com
我需要一个正则表达式来匹配所有子域和不同的扩展名,我已经尝试过并且效果很好,这是正则表达式:
"([a-z0-9]*.)([a-z0-9]*.)testDomain.(com|cn|local)"
但是我有一个案例,我有以下域
xxx.test-testDomain.com
我需要匹配确切的test-
文本,或者什么都没有,因为我可能有一个domina 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
最佳答案
关于java - 正则表达式与前面的精确文本匹配或不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49555995/