开发者社区 问答 正文

正则表达式中Matcher的问题

用正则表达式写了个程序,用来判断输入字符中有多少个字母字符
int character=0;
System.out.println("请输入任意字符串:");
Scanner scanner=new Scanner(System.in);
String input=scanner.next();
Pattern p=Pattern.compile("[a-zA-Z]");
Matcher m=p.matcher(input);
while(m.find()){
character++;
}
System.out.println("有字母字符:"+character+"个");
功能实现正确,当我输入例如“ab12cd34”的时候,能判断出有4个字母。
可是为什么while循环在检测到数字的时候没有返回false 跳出循环呢?

展开
收起
蛮大人123 2016-02-20 14:38:32 2492 分享 版权
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    int character = 0;
    System.out.println("请输入任意字符串:");
    Scanner scanner = new Scanner(System.in);
    String input = scanner.next();
    Pattern p = Pattern.compile("[a-zA-Z]");
    Matcher m = p.matcher(input);
    while (m.find()) {
    character++;
    }
    System.out.println(character);
    跳出循环了.

    2019-07-17 18:45:19
    赞同 展开评论
问答地址: