所以我在最新版本的Eclipse中运行它。出于某种原因,我和我的老师都无法弄清楚为什么这个布尔值没有变化
String value = null;
boolean matching = false;
String regex = "^[a-zA-Z]$";
Scanner input = new Scanner(System.in);
value = input.next();
if (value.matches(regex))
{
matching = true;
}
else
{
System.out.println("Name is incorrect, please try again");
}
System.out.println(matching);
System.out.println(value);
答案 0 :(得分:1)
通过指定正则表达式^ [a-zA-Z] $,您将匹配单字母输入(例如,“ a”,“ d”,“ F”)...因为您输入了多字符字符串,所以不会t匹配
为了匹配length> = 1的字符串,可以在正则表达式中使用+运算符,就像这样,
^[a-zA-Z]+$