Để so khớp một biểu thức chính quy với chuỗi đã cho, bạn cần:.
- Biên dịch biểu thức chính quy của phương thức compile () của lớp Mẫu.
- Lấy đối tượng Matcher bỏ qua chuỗi đầu vào bắt buộc làm tham số cho phương thức matcher () của lớp Pattern.
- Phương thức match () của lớp Matcher trả về true nếu một trận đấu xảy ra khác thì nó trả về false. Do đó, hãy gọi phương thức này để xác thực dữ liệu.
Ví dụ
Sau đây là một ví dụ về biểu thức chính quy Java chỉ khớp với ngày
import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Sample { public static void main(String args[]){ //Creating the list to store dates List dates = new ArrayList(); dates.add("25-12-1990"); dates.add("25/12/1990"); dates.add("2010-06-24 06:30"); dates.add("05-02-1990"); dates.add("1920-11-03 12:40"); //Regular expression to match dates String regex = "[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])"; //Compiling the regular expression Pattern pattern = Pattern.compile(regex); //Matching each date for(Object date : dates) { Matcher matcher = pattern.matcher((CharSequence) date); System.out.println(date +": "+ matcher.matches()); } } }
Đầu ra
25-12-1990: false 25/12/1990: false 2010-06-24: true 05-02-1990: false 1920-11-03: true
Ví dụ
Ví dụ sau phù hợp với ngày và giờ -
import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Sample { public static void main(String args[]){ //Creating the list to store dates List dates = new ArrayList(); dates.add("25-12-1990"); dates.add("25/12/1990"); dates.add("2010-06-24 12:30:40"); dates.add("05-02-1990 44:205:40"); dates.add("1920-11-03 06:25:40"); //Regular expression to match dates String regex = "[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1]) (2[0-3]|[01][0-9]):[0-5][0-9]:[0-5][0-9]"; //Compiling the regular expression Pattern pattern = Pattern.compile(regex); //Matching each date for(Object date : dates) { Matcher matcher = pattern.matcher((CharSequence) date); System.out.println(date +": "+ matcher.matches()); } } }
Đầu ra
25-12-1990: false 25/12/1990: false 2010-06-24 12:30:40: true 05-02-1990 44:205:40: false 1920-11-03 06:25:40: true