正则表达式匹配
问题描述:
我需要在java中编写正则表达式来匹配域和子域(.domain.com)。 正则表达式应该返回true为正则表达式匹配
domain.com
m.domain.com
abc.domain.com
www.domain.com
但
abcdomain.com
1domain.com
返回false我尽力配合domain.com和,如果前面的字符存在,则它必须是。
我尝试了各种选择,但它在一个或其他测试用例中失败。
答
试试这个:
(\.|^)domain.com$
第一部分表示应该有一个。或者没有 和$手段,
答
你可以试试 “结尾”:
(^|\.)domain\.com$
但Java大多只处理全系匹配,所以:
(.+\.)?domain\.com
,或者您可以使用在Java代码.endWith()方法:
if (domain.equals("domain.com") || domain.endsWith(".domain.com")) {
// do something...
}
答