java 验证字符串格式是yyyy/MM/dd HH:mm:ss的正则表达式
时间: 2024-06-13 08:06:42 浏览: 283
以下是Java中验证字符串格式为yyyy/MM/dd HH:mm:ss的正则表达式:
```java
String regex = "^\\d{4}/\\d{2}/\\d{2} \\d{2}:\\d{2}:\\d{2}$";
```
其中,^表示字符串的开头,\\d表示数字,{4}表示前面的数字重复4次,/和:表示对应的字符,$表示字符串的结尾。使用matches()方法可以判断一个字符串是否符合该正则表达式:
```java
String str = "2022/01/01 12:00:00";
if (str.matches(regex)) {
System.out.println("符合格式");
} else {
System.out.println("不符合格式");
}
```
输出结果为“符合格式”。
相关问题
java时间校验工具类 ,使用正则表达式对日期格式进行校验,包括yyyy-MM-dd HH:mm:ss,yyyy/MM/dd HH:mm:ss,yyyy/MM/dd HH:mm,yyyy/M/dd h:mm,平年、闰年等
以下是一个Java时间校验工具类的代码,其中使用了正则表达式对日期格式进行校验:
```java
import java.util.regex.Pattern;
public class TimeUtils {
/**
* 判断时间格式是否正确
* @param time 时间字符串
* @return 是否正确
*/
public static boolean isTimeFormatValid(String time) {
String pattern = "^((\\d{4})(-|/)(0?[1-9]|1[0-2])(-|/)(0?[1-9]|[12]\\d|3[01])\\s([01]\\d|2[0-3]):([0-5]\\d):([0-5]\\d))|" +
"((\\d{4})(-|/)(0?[1-9]|1[0-2])(-|/)(0?[1-9]|[12]\\d|3[01])\\s([01]\\d|2[0-3]):([0-5]\\d))|" +
"((\\d{4})(-|/)([1-9]|1[0-2])(-|/)(0?[1-9]|[12]\\d|3[01])\\s([1-9]|1[0-2]):([0-5]\\d))|" +
"((\\d{4})(-|/)([1-9]|1[0-2])(-|/)([1-9]|[12]\\d)\\s([1-9]|1[0-2]):([0-5]\\d))$";
return Pattern.matches(pattern, time);
}
}
```
其中,使用了正则表达式对以下四种日期格式进行校验:
1. yyyy-MM-dd HH:mm:ss
2. yyyy/MM/dd HH:mm:ss
3. yyyy/MM/dd HH:mm
4. yyyy/M/dd h:mm
同时,该工具类还考虑了闰年和平年的情况。
yyyy/M/dd HH:mm:ss 正则表达式校验
可以使用以下正则表达式进行校验:
```
^\d{4}/\d{1,2}/\d{1,2} \d{1,2}:\d{1,2}:\d{1,2}$
```
这个正则表达式匹配的是 yyyy/M/dd HH:mm:ss 这种格式的日期时间字符串,其中:
- `^` 匹配字符串的开头
- `\d{4}` 匹配四位数字,即年份
- `/` 匹配斜杠字符
- `\d{1,2}` 匹配一位或两位数字,即月份和日期
- ` ` 匹配空格字符
- `\d{1,2}` 匹配一位或两位数字,即小时
- `:` 匹配冒号字符
- `\d{1,2}` 匹配一位或两位数字,即分钟和秒钟
- `$` 匹配字符串的结尾
例如,这个正则表达式可以匹配如下字符串:
```
2022/1/1 00:00:00
2023/12/31 23:59:59
```
但无法匹配如下字符串:
```
2022/01/01 00:00:00
2022-01-01 00:00:00
```
阅读全文