import java.util.regex.*;
class Regex2 {
public static void main(String[] args) {
Pattern p = Pattern.compile(args[0]);
Matcher m = p.matcher(args[1]);
boolean b = false;
while(b = m.find()) {
System.out.println(m.start() +"-"+m.group()+"-"); 
}
}
}输出是
0--
1--
2-34-
4--
5--
6-- 
其他的都比较好理解
第1个输出0,表示输入串中的第1个字符位置,没有数字,故输出位置0;
第2个输出1,表示输入串中的第2个字符位置,没有数字,故输出位置1;
第3个输出234,表示输入串中的第3个字符位置,有数字,且跟随1个数字,故输出位置2,以及两位数字34即234;
第4个输出4,表示输入串中的第5个字符位置,没数字,故输出位置4;
第5个输出5,表示输入串中的第6个字符位置,没数字,故输出位置5; 
就是最后一条为什么呢?