为什么布尔值与我的正则表达式匹配时不改变?

时间:2018-11-28 23:27:44

标签: java regex eclipse boolean

所以我在最新版本的Eclipse中运行它。出于某种原因,我和我的老师都无法弄清楚为什么这个布尔值没有变化

This is the code

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);

1 个答案:

答案 0 :(得分:1)

通过指定正则表达式^ [a-zA-Z] $,您将匹配单字母输入(例如,“ a”,“ d”,“ F”)...因为您输入了多字符字符串,所以不会t匹配

为了匹配length> = 1的字符串,可以在正则表达式中使用+运算符,就像这样,

^[a-zA-Z]+$