繁体   English   中英

Java正则表达式匹配器模式不断返回false

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM