我需要在java中编写正则表达式以匹配域和子域(.domain.com)。 正则表达式应该为
返回truedomain.com
m.domain.com
abc.domain.com
www.domain.com
但
返回falseabcdomain.com
1domain.com
我尝试匹配domain.com,如果前面的字符存在则必须是。
我尝试了各种选项,但在一个或其他测试用例中失败了。
答案 0 :(得分:1)
试试这个:
(\.|^)domain.com$
第一部分意味着应该有一个。或无 和$ means,“以...结尾”
答案 1 :(得分:1)
您可以尝试:
(^|\.)domain\.com$
但Java主要只处理全行匹配,所以:
(.+\.)?domain\.com
或者您可以在Java代码中使用.endWith()方法:
if (domain.equals("domain.com") || domain.endsWith(".domain.com")) {
// do something...
}
答案 2 :(得分:1)
答案 3 :(得分:0)
答案 4 :(得分:0)
答案 5 :(得分:0)