我正在尝试检查电话号码是否包含任何字母。 但我不明白,为什么以下不起作用。
String phoneNumber = "(223) 456-7890"
Pattern letterPattern = Pattern.compile("[a-zA-Z]*");
Matcher matcher = letterPattern.matcher(phoneNumber);
为什么我对以下内容的理解是正确的?
matcher.find()
我希望如此
matcher.find()
是假的,不是真的。
是因为空间的原因吗?如果是,为什么这里会识别空间?
在 regex101.com 中尝试相同的操作,我得到 regex101 的示例 (示例中的第二行)
[a-zA-Z]*
匹配 0-n 个字母。由于字符数为零,因此正则表达式匹配。如果您要查找至少一个字符,请使用 [a-zA-Z]+
来代替,它匹配 1-n 个字母。