我这几天进行字符串匹配的时候
我要匹配的是"22 22 22 22 22 22"就是数字和空格但是我发现空格匹配的时候只有在
" "的情况下才能成功我用的是[\\s]匹配的我的情况怎么解决
希望大家能帮帮忙注意,是"  " 匹配"[\\s]"的时候才能成功,一旦" "中加上其他的就会匹配失败

解决方案 »

  1.   

    不确定明白了你的意思,是这样吗? String s="22 22 22 22 22 22";
    System.out.println(s.matches("(\\d+\\s?)*"));
      

  2.   

    你们说的对
    不过要求数字式俩个加空格加个数字
    [\\d]{2}[\\s][\\d]{2}[\\s][\\d]{2}[\\s]
    但是这样子时识别不了的
      

  3.   


    String s="22 22 22 22 22 22";
    System.out.println(s.matches("(\\d{2}+\\s?)*"));
      

  4.   

    如果“22 22  22”这种,有多个空格,怎么匹配呢?我试过 
     s.matches("(\\d{2}+\\s?)*")
     s.matches("(\\d{2}\\s?)*")
     s.matches("(\\d{2}+\\s+)*")
     s.matches("(\\d{2}\\s+)*")
    都不可以
     s.matches("(\\d{2}\\s*)*")
    倒是可以,但是对 “22 2222 22”它也匹配,所以不对
      

  5.   

    我机子上:
    public class RegexTestXXX{
    public static void main(String args[]){
    String str="22 22 22 22";
    System.out.println(str.matches("[\\d]{2}[\\s][\\d]{2}[\\s][\\d]{2}[\\s][\\d]{2}"));
    }
    }结果是true
      

  6.   

    public class TestReg{
    public static void main(String args[]){
    String str="232  2222 222 22 22 22";
    String Reg = "(\\d{1}+\\s*)*";
    System.out.println(str.matches(Reg));
    }
    }
      

  7.   

    这样应该好些 public class TestReg{
    public static void main(String args[]){
    String str=" 232   2222   222   22   22   22  4343 ";
    String Reg = "(\\s*\\d{1}+\\s*)*";
    System.out.println(str.matches(Reg));
    }
    }
      

  8.   


            String s="22 22 22 22 22 22";
            System.out.println(s.matches("([\\d*\\s*])*"));
      

  9.   

    谢谢大家前来回帖
    我的问题已经解决虽然大家的回答都有点问题s.mattchs(String)是不能识别包含型的正则表达式的我用的是pattern.compile(String)
    Matcher mm = pm.matcher(str[i])这个用法比较好因为问题是我解决的,分数就平分给大家了