[英]Java string.matches() returns wrong statement
我正在通过eclipse调试器运行一些代码,当a[1] = "ABCD"
( a
是字符串数组)时, a[1].matches("[a-zA-Z]")
不等于true
。
我已经阅读了matches
的javadoc, [a-zA-Z]
应该是一个有效的正则表达式..
谁知道我哪里出错了?
尝试a[1].matches("[a-zA-Z]+")
。 它说“一个或多个字符”必须匹配,而不是只匹配一个字符。
请注意,'*'而不是'+'匹配“零个或多个字符”,因此它将匹配空字符串(可能不是您想要的)。
我认为它应该是a[1].matches("[a-zA-Z]*")
a[1].matches("[a-zA-Z\\s]+")
可能有帮助
[a-zA-Z]
只接受一个字母。 你可能需要[a-zA-Z]*
。
你不匹配字符串的原因是你的RegEx表达式试图只匹配一个字符。 尝试这个:
a[1].matches("[a-zA-Z]*")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.