String input = "1 fish 2 fish red fish blue fish";
     Scanner s = new Scanner(input).useDelimiter("\\s*fish\\s*");
     System.out.println(s.nextInt());
     System.out.println(s.nextInt());
     System.out.println(s.next());
     System.out.println(s.next());
     s.close();
这是javaSDK中Scanner  的 一段程序
我想知道\\s*这是什么意思
好像\\是转义符的意思吧 那s*是什么意思啊?

解决方案 »

  1.   

    "\\s*fish\\s*"是正则表达式,楼上都说的很对
    这个表达式用途有点像String对象里的.trim()方法
      

  2.   

    什么叫正则表达式
    我刚学JAVA不是很清楚
      

  3.   

    楼主在javase的帮助文档里搜索pattern,就找到正则表达式了
    \s 空白字符:[ \t\n\x0B\f\r] 
    你的\s就是对应的这些空白字符
    至于你的是\\s,因为java里的\需要转义貌似是新手,请努力学习
      

  4.   

    忘了说了这写法是为了让scanner
    将fish转成相当于空白字符,于是程序的结果应该是
    1 2 red blue