java正则表达式的匹配结果遍历方法find()和matches()不同

一、使用matches()

  1. Pattern p = Pattern.compile("正则表达式");
  2. Matcher m = p.matcher("预匹配的字符串");
  3. if(m.matches()) {
  4.     m.group(1)//匹配第1项
  5.     m.group(2)//匹配第2项
  6. }

二、使用find()

public static void main(String[] args) {      
        int count = 0;      
         String regEx = "[\\u4e00-\\u9fa5]";  
         String str = "中文fdas ";    
         Pattern p = Pattern.compile(regEx);      
         Matcher m = p.matcher(str);      
        while (m.find()) { 
                 count = count + 1;   
                 System.out.println(m.groupCount());  
                 System.out.println(m.group());                    
         }      
         System.out.println("共有 " + count + "个 ");      
     }     

结果:

0

0

共2个



你可能感兴趣的:(java)