Matcher.matcher()与Matcher.find()的区别

 1         Pattern pattern = Pattern.compile("abc");
 2         Matcher matcher = pattern.matcher("abcd");
 3         if(matcher.matches()){
 4             System.out.println("matcher.matches() == true");
 5         }else{
 6             System.out.println("matcher.matches() == false");
 7         }
 8 
 9         if(matcher.find()){
10             System.out.println("matcher.find() == true");
11         }else{
12             System.out.println("matcher.find() == false");
13         }
14 
15 
16 結果:
17 matcher.matches() == false
18 matcher.find() == true
 1         Pattern pattern = Pattern.compile("abcd");
 2         Matcher matcher = pattern.matcher("abcd");
 3         if(matcher.matches()){
 4             System.out.println("matcher.matches() == true");
 5         }else{
 6             System.out.println("matcher.matches() == false");
 7         }
 8 
 9         if(matcher.find()){
10             System.out.println("matcher.find() == true");
11         }else{
12             System.out.println("matcher.find() == false");
13         }
14 
15 
16 matcher.matches() == true
17 matcher.find() == false

结论:当正则完全匹配字符串,从头到尾正好匹配上字符串,matches()方法是true,find()方法为false

          当正则只能匹配字符串中的部分内容,matches()方法是fasle ,find()方法是true

posted on 2017-12-01 20:12  飞舞z2q  阅读(12011)  评论(2编辑  收藏  举报