Regex trong Java là gì?
Biểu thức chính quy hoặc biểu thức chính quy là một chuỗi các ký tự tạo thành một mẫu. Khi bạn đang tìm kiếm bất kỳ dữ liệu nào, bạn có thể sử dụng mẫu chuyên biệt này để tìm các chuỗi phù hợp. Nó có thể đơn giản như một ký tự đơn hoặc có thể là một mẫu phức tạp hơn. Trong Java, bạn có một gói biểu thức chính quy java có các lớp cung cấp khả năng sử dụng các biểu thức chính quy để tìm kiếm và thao tác mẫu. Gói này được nhập vào mã của bạn theo cách sau.import java.util.regex.*;
Java Regex - Trình so khớp
import java.util.regex.Matcher;
Gói biểu thức chính quy java có ba lớp:
-
Lớp mẫu : Để xác định mẫu cần tìm kiếm.
-
Lớp Matcher : Để khớp mẫu trong văn bản và tìm nó.
-
Lớp PatternSyntaxException : Để chỉ ra bất kỳ lỗi cú pháp nào trong biểu thức chính quy.
Các phương thức lớp của trình so khớp Java
Một số phương thức của Java Matcher Class được mô tả bên dưới.-
booleanmatch() - trả về true nếu biểu thức chính quy khớp với mẫu.
-
boolean find() - tìm biểu thức chính quy tiếp theo khớp với mẫu.
-
boolean find(int start) - tìm biểu thức chính quy tiếp theo khớp với mẫu từ điểm bắt đầu đã cho.
-
int start() - trả về chỉ số bắt đầu của trận đấu.
-
int end() - trả về chỉ số kết thúc của kết quả khớp được trả về.
-
int groupCount() - trả về tổng số nhóm trong trận đấu.
-
String thay thếAll(String replacement) - thay thế mọi chuỗi con của trận đấu bằng sự thay thế đã cho.
-
Chuỗi thay thếFirst(Thay thế chuỗi) - thay thế chuỗi con đầu tiên của trận đấu bằng chuỗi thay thế đã cho.
Ví dụ về trình so khớp Java
Có nhiều phương thức hữu ích cho lớp Matcher , tuy nhiên, chúng ta sẽ xem xét thêm (các) ví dụ cụ thể về phương thứcmatches() .Sử dụng phương thứcmatch()
Phần sau đây trình bày một Ví dụ về trình so khớp Java cho phương thứcmatches() .import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
String regexPattern = "(.*)apple(.*)"; // this regex means that any char sequence can precede or succeed "apple"
String firstCheck = "Apples";
String secondCheck = "Apple";
String thirdCheck = "apple";
String fourthCheck = "An apple a day keeps the doctor away.";
String fifthCheck = "green apple, yellow apple, red apple, i love all kinds of apples.";
Pattern pattern = Pattern.compile(regexPattern);
Matcher matcher1 = pattern.matcher(firstCheck);
System.out.println("The Pattern is: " + pattern);
System.out.println("Text to check is: " + firstCheck);
System.out.println("Output for matches(): " + matcher1.matches() + "\n");
Matcher matcher2 = pattern.matcher(secondCheck);
System.out.println("The Pattern is: " + pattern);
System.out.println("Text to check is: " + secondCheck);
System.out.println("Output for matches(): " + matcher2.matches() + "\n");
Matcher matcher3 = pattern.matcher(thirdCheck);
System.out.println("The Pattern is: " + pattern);
System.out.println("Text to check is: " + thirdCheck);
System.out.println("Output for matches(): " + matcher3.matches() + "\n");
Matcher matcher4 = pattern.matcher(thirdCheck);
System.out.println("The Pattern is: " + pattern);
System.out.println("Text to check is: " + fourthCheck);
System.out.println("Output for matches(): " + matcher4.matches() + "\n");
Matcher matcher5 = pattern.matcher(fifthCheck);
System.out.println("The Pattern is: " + pattern);
System.out.println("Text to check is: " + fifthCheck);
System.out.println("Output for matches(): " + matcher5.matches() + "\n");
}
}
đầu ra