开发者社区> 问答> 正文

正则表达式中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 2357 0
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
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载