System.out.println("hello sir".matches("^h[a-z]*\\s+[a-z]*")); 
这样呢?

解决方案 »

  1.   

    能不能具体解释一下我的结果为什么是false.
      

  2.   

    能不能具体解释一下我的结果为什么是false.\b是 单词边界
    \s是 空白字符\b是匹配的单词边界是不占位的
    System.out.println("hello sir".matches("^h[a-z]*\\s\\b[a-z]*"));  输出为true
      

  3.   

    直接:System.out.println("hello sir".matches("^h[a-z]*\\s[a-z]*"));
      

  4.   

    \b不是用来匹配空格的,而是匹配位置
    \b的宽度是0
    试试这个就明白了
    "^h[a-z]*\\b\\s\\b[a-z]*"