Basic String.match not matching



Java的String.match没有按照我认为的方式运行,我不知道为什么。这是我正在做的,我试图解析主机的子域,并在子域匹配"dev"的情况下有条件地做一些事情。

String serverName = httpServletRequest.getServerName();
    List<String> partsList = new ArrayList<>(Arrays.asList(serverName.split("\.")));
    if(partsList.size() == 3) {
        String subDomain = partsList.get(0);
        System.out.println(subDomain + " => " + subDomain.matches("dev"));

问题是,这会将以下内容打印到控制台:

dev01 => false

这是怎么回事?它显然是匹配的。我是否错误地使用了正则表达式字符串?

String.matches()匹配整个字符串

我推荐String.startsWith()

我可以推荐一个更简单的解决方案吗?

subDomain.contains("dev")

相关内容

最新更新