Computer >> Máy Tính >  >> Lập trình >> Java

Khớp nhiều dòng trong biểu thức chính quy Java

Để đối sánh / tìm kiếm dữ liệu đầu vào có nhiều dòng -

  • Lấy chuỗi đầu vào.

  • Chia nó thành một mảng mã thông báo bằng cách chuyển "\ r? \ N" làm tham số cho phương thức tách.

  • Biên dịch biểu thức chính quy bắt buộc bằng phương thức compile () của lớp mẫu.

  • Truy xuất đối tượng matcher bằng phương thức matcher ().

  • Trong vòng lặp for, tìm các kết quả phù hợp trong từng phần tử (dòng mới) của mảng bằng cách sử dụng phương thức find ().

  • Đặt lại đầu vào của trình so khớp thành phần tử tiếp theo của mảng bằng phương thức reset ().

Ví dụ

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MatchingText{
   public static void main(String[] args) {
      String input = "sample text line 1 \n line2 353 35 63 \n line 3 53 35";
      String regex = "\\d";
      String[] strArray = input.split("\r?\n");
      //Creating a pattern object
      Pattern pattern = Pattern.compile(regex);
      //Matching the compiled pattern in the String
      Matcher matcher = pattern.matcher(input);
      for (int i = 0; i < strArray.length; i++) {
         matcher.reset(strArray[i]);
         System.out.println("Line:: "+(i+1));
         while (matcher.find()) {
            System.out.print(matcher.group()+" ");
         }
      System.out.println();
      }
   }
}

Đầu ra

Line:: 1
1
Line:: 2
2 3 5 3 3 5 6 3
Line:: 3
3 5 3 3 5