java.util.regex gói java cung cấp các lớp khác nhau để tìm các mẫu cụ thể trong chuỗi ký tự. Lớp mẫu của gói này là một biểu diễn đã biên dịch của một biểu thức chính quy.
Kết quả phù hợp () phương thức của lớp Pattern chấp nhận -
-
Giá trị chuỗi đại diện cho biểu thức chính quy.
-
Một đối tượng của CharSequence lớp đại diện cho chuỗi đầu vào.
Khi gọi, phương thức này khớp chuỗi đầu vào với biểu thức chính quy. Phương thức này trả về một giá trị boolean là true trong trường hợp so khớp khác, false.
Ví dụ
import java.util.Scanner; import java.util.regex.Pattern; public class MatchesExample { public static void main(String[] args) { //Getting the date Scanner sc = new Scanner(System.in); System.out.println("Enter date string in [dd/mm/yyy] format: "); String date = sc.next(); String regex = "^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$"; //Creating a pattern object boolean result = Pattern.matches(regex, date); if(result) { System.out.println("Date is valid"); } else { System.out.println("Date is not valid"); } } }
Đầu ra 1
Enter date string in [dd/mm/yyy] format: 01/12/2019 Date is valid
Đầu ra 2
Enter date string in [dd/mm/yyy] format: 2019-21-12 Date is not valid