Computer >> Máy Tính >  >> Lập trình >> Java

Java reg ex để kiểm tra ngày và giờ là gì?

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