regex的问题
package   scjp.chapter6;   
 import   java.util.regex.Matcher; 
 import   java.util.regex.Pattern;   
 public   class   Regex2   {   
 	/** 
 	   *   @param   args 
 	   */ 
 	public   static   void   main(String[]   args)   { 
 		//   TODO   Auto-generated   method   stub 
 		Pattern   p   =   Pattern.compile( "\\d* "); 
 		Matcher   m   =   p.matcher( "ab34ef "); 
 		boolean   b   =   false; 
 		while   (b   =   m.find())   { 
 			System.out.println(m.start()   +    "    "   +   m.end()); 
 		} 
 	} 
 } 
 这个匹配的时候为什么会匹配到索引6去呢,匹配的字符串一共才6个啊;另外*的匹配到底是怎么进行的?
------解决方案--------------------*是匹配0个或多个,所以匹配到索引6去,用+就可以
------解决方案--------------------1对应a 
 2对应b 
 3对应34 
 5对应e 
 6对应f   
 *的匹配看这月的程序员,写的非常好,简单说是因为正则用的NFA,因此在匹配时,正则式不动,扫描字符串,这样3和4都会匹配,然后扫描到e,发现不匹配退回.   
 我去年考的SCJP,现在忘了些,我也做过这题,当时也很晕
------解决方案--------------------空 
 空 
  "34 " 
 空 
 空 
 空