检查日期和时间的 Java 正则表达式是什么?


要让正则表达式与给定的字符串相匹配,你需要:.

  • 编译 Pattern 类 compile() 方法中的正则表达式。
  • 通过将所需输入字符串作为 Pattern 类 matcher() 方法的参数来获取 Matcher 对象。
  • Matcher 类的 matches() 方法在匹配发生时返回 true,否则返回 false。因此,调用此方法以验证数据。

示例

下面是一个仅匹配日期的 Java 正则表达式示例。

实时演示

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());
       }      
   }
}

输出

25-12-1990: false
25/12/1990: false
2010-06-24: true
05-02-1990: false
1920-11-03: true

示例

以下示例匹配日期和时间 -

实时演示

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());
       }      
   }
}

输出

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

更新于: 06-Feb-2021

2K+ 浏览量

开始您的职业生涯

完成课程获得认证

立即开始
广告