SSISO Community

시소당

Regular expressions: start End

//  :  c12:StartEnd.java
//  From  'Thinking  in  Java,  3rd  ed.'  (c)  Bruce  Eckel  2002
//  www.BruceEckel.com.  See  copyright  notice  in  CopyRight.txt.

import  java.util.regex.Matcher;
import  java.util.regex.Pattern;

public  class  StartEnd  {
    public  static  void  main(String[]  args)  {
        String[]  input  =  new  String[]  {  "Java  has  regular  expressions  in  1.4",
                "regular  expressions  now  expressing  in  Java",
                "Java  represses  oracular  expressions"  };
        Pattern  p1  =  Pattern.compile("re\\w*"),  p2  =  Pattern.compile("Java.*");
        for  (int  i  =  0;  i  <  input.length;  i++)  {
            System.out.println("input  "  +  i  +  ":  "  +  input[i]);
            Matcher  m1  =  p1.matcher(input[i]),  m2  =  p2.matcher(input[i]);
            while  (m1.find())
                System.out.println("m1.find()  '"  +  m1.group()  +  "'  start  =  "
                        +  m1.start()  +  "  end  =  "  +  m1.end());
            while  (m2.find())
                System.out.println("m2.find()  '"  +  m2.group()  +  "'  start  =  "
                        +  m2.start()  +  "  end  =  "  +  m2.end());
            if  (m1.lookingAt())  //  No  reset()  necessary
                System.out.println("m1.lookingAt()  start  =  "  +  m1.start()
                        +  "  end  =  "  +  m1.end());
            if  (m2.lookingAt())
                System.out.println("m2.lookingAt()  start  =  "  +  m2.start()
                        +  "  end  =  "  +  m2.end());
            if  (m1.matches())  //  No  reset()  necessary
                System.out.println("m1.matches()  start  =  "  +  m1.start()
                        +  "  end  =  "  +  m1.end());
            if  (m2.matches())
                System.out.println("m2.matches()  start  =  "  +  m2.start()
                        +  "  end  =  "  +  m2.end());
        }
    }
}  ///:~
[2008년  04월  04일  09:30:56  수정되었습니다.]

756 view

4.0 stars