Để đố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