[英]Java regex matcher pattern keep returning false
我在 Java 中遇到了正则表达式的一些问题。 我有这个正则表达式模式:
static Pattern parts = Pattern.compile("\\A([91|10|17|21|30].{1,20}\\s){1,5}\\Z");
然后我尝试用虚拟数据测试它:
String s = "91448629517150623101408002301";
Matcher testMatcher = parts.matcher(s);
System.out.println(testMatcher.matches());
String s1 = "9143676601715Sep14101310147301";
Matcher testMatcher1 = parts.matcher(s1);
System.out.println(testMatcher1.matches());
虚拟数据的格式正确。 但是,我不确定为什么两者都让我返回 false。 有任何想法吗?
您提供的正则表达式可能与模式匹配不正确。 我想你可能想使用\\s (一个空白字符)而不是\\S (一个非空白字符)。
我建议您再次仔细阅读文档。
例如,
static Pattern parts = Pattern.compile("\\A([91|10|17|21|30].{1,20}\\S){1,5}\\Z");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.