[Java] matches()、lookAt()和find()的区别 →→→→→进入此内容的聊天室

来自 , 2020-08-06, 写在 Java, 查看 101 次.
URL http://www.code666.cn/view/1d72310e
  1. package net.oseye;
  2.  
  3. import java.util.regex.Matcher;
  4. import java.util.regex.Pattern;
  5.  
  6. public class IOTest {
  7.         public static void main(String[] args){
  8.                 Pattern pattern = Pattern.compile("\\d{3,5}");
  9.                 String charSequence = "123-34345-234-00";
  10.                 Matcher matcher = pattern.matcher(charSequence);
  11.  
  12.                 //虽然匹配失败,但由于charSequence里面的"123"和pattern是匹配的,所以下次的匹配从位置4开始
  13.                 print(matcher.matches());
  14.                 //测试匹配位置
  15.                 matcher.find();
  16.                 print(matcher.start());
  17.  
  18.                 //使用reset方法重置匹配位置
  19.                 matcher.reset();
  20.  
  21.                 //第一次find匹配以及匹配的目标和匹配的起始位置
  22.                 print(matcher.find());
  23.                 print(matcher.group()+" - "+matcher.start());
  24.                 //第二次find匹配以及匹配的目标和匹配的起始位置
  25.                 print(matcher.find());
  26.                 print(matcher.group()+" - "+matcher.start());
  27.  
  28.                 //第一次lookingAt匹配以及匹配的目标和匹配的起始位置
  29.                 print(matcher.lookingAt());
  30.                 print(matcher.group()+" - "+matcher.start());
  31.  
  32.                 //第二次lookingAt匹配以及匹配的目标和匹配的起始位置
  33.                 print(matcher.lookingAt());
  34.                 print(matcher.group()+" - "+matcher.start());
  35.         }
  36.         public static void print(Object o){
  37.                 System.out.println(o);
  38.         }
  39. }
  40. //源代码片段来自云代码http://yuncode.net
  41.                        

回复 "matches()、lookAt()和find()的区别"

这儿你可以回复上面这条便签

captcha