java - 基本 String.match 不匹配

标签 java regex

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()

关于java - 基本 String.match 不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20408150/

相关文章:

java - Kotlin stdlib 和数据绑定(bind)

java - 如何清除 JSON 数组中的数据

java - 您可以将同步成本推到一个线程上吗?

java - 如何将字符串拆分为括号定义的部分

regex - 什么是清除绝对路径的好 Perl 正则表达式?

java - is CompletedFuture 根据下面的代码会同时触发两个项目吗?

java - 尝试在 RecyclerView 中添加新元素时,某些项目重复

Javascript正则表达式任意位置的可选字符并由特定字符边框

javascript - 在 RegEx 中使整个匹配非捕获

html - Dreamweaver 中的 RegEx 查找/替换 - 将 HTML 粘贴为变量?