[英]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")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.