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