返回
正则表达式教程:验证24小时制时间
正则表达式
2024-02-28 15:52:33
一、正则解释
^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$
- ^: 匹配字符串的开头。
- (?:[01]\d|2[0-3]): 匹配小时部分,可以是 00 到 23 之间的数字。
- : 匹配分隔符冒号。
- [0-5]\d: 匹配分钟部分,可以是 00 到 59 之间的数字。
- : 匹配分隔符冒号。
- [0-5]\d: 匹配秒部分,可以是 00 到 59 之间的数字。
- $: 匹配字符串的结尾。
二、使用场景
此正则表达式可用于以下场景:
- 验证用户输入的 24 小时制时间格式。
- 从文本中提取 24 小时制时间戳。
- 比较和排序 24 小时制时间。
三、代码示例
JavaScript
const regex = /^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$/;
const time = '23:34:55';
console.log(regex.test(time)); // true
Java
import java.util.regex.Pattern;
public class TimeValidation {
public static void main(String[] args) {
String regex = "^(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\dimport java.util.regex.Pattern;
public class TimeValidation {
public static void main(String[] args) {
String regex = "^(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d$";
String time = "23:34:55";
boolean isValid = Pattern.matches(regex, time);
System.out.println(isValid); // true
}
}
quot;;
String time = "23:34:55";
boolean isValid = Pattern.matches(regex, time);
System.out.println(isValid); // true
}
}
PHP
<?php
$regex = "/^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$/";
$time = '23:34:55';
preg_match($regex, $time, $matches);
var_dump($matches); // ['23:34:55']
?>
Python
import re
regex = "^(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\dimport re
regex = "^(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d$"
time = '23:34:55'
result = re.match(regex, time)
print(bool(result)) # True
quot;
time = '23:34:55'
result = re.match(regex, time)
print(bool(result)) # True