So khớp pattern trong Regular Expression trong Java



Miêu tả vấn đề

Cách in tất cả string mà so khớp với một pattern cụ thể từ một file trong Java?

Giải pháp

Ví dụ sau minh họa cách in tất cả string mà so khớp với một pattern cụ thể từ một file với sự giúp đỡ của phương thức Patternname.matcher() của lớp Util.regex trong Java.

import java.util.regex.*;
import java.io.*;public class ReaderIter {
   public static void main(String[] args) 
   throws IOException {
      Pattern patt = Pattern.compile("[A-Za-z][a-z]+");
      BufferedReader r = new BufferedReader
      (new FileReader("ReaderIter.java"));
      String line;
      while ((line = r.readLine()) != null) {
         Matcher m = patt.matcher(line);
         while (m.find()) {
            System.out.println(m.group(0));
            int start = m.start(0);
            int end = m.end(0);
            Use CharacterIterator.substring(offset, end);
            System.out.println(line.substring(start, end));
         }
      }
   }
}

Kết quả

Code trên sẽ cho kết quả sau:

Ian 
Darwin
http
www
darwinsys
com
All
rights
reserved
Software
written
by
Ian
Darwin
and
others

regular_expression_trong_java.jsp