返回

正则表达式教程:12小时制时间(hh:mm:ss)

正则表达式

一、正则解释

正则表达式:

^(?:1[0-2]|0?[1-9]):[0-5]\d:[0-5]\d$

分解:

  • ^:匹配字符串的开头。
  • (?:1[0-2]|0?[1-9]): 匹配小时部分。它允许从10到12或从1到9的小时。
  • ::匹配冒号。
  • [0-5]\d: 匹配分钟部分,范围从00到59。
  • [0-5]\d: 匹配秒部分,范围从00到59。
  • $:匹配字符串的结尾。

二、使用场景

此正则表达式可用于:

  • 验证用户输入的12小时制时间格式。
  • 从文本中提取12小时制时间。
  • 根据12小时制时间对数据进行排序或过滤。

三、代码示例

JavaScript

const regex = /^(?:1[0-2]|0?[1-9]):[0-5]\d:[0-5]\d$/;
const time = '11: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 = "^(?:1[0-2]|0?[1-9]):[0-5]\\d:[0-5]\\d
import java.util.regex.Pattern;

public class TimeValidation {
    public static void main(String[] args) {
        String regex = "^(?:1[0-2]|0?[1-9]):[0-5]\\d:[0-5]\\d$";
        String time = "11:34:55";

        boolean isValid = Pattern.matches(regex, time);
        System.out.println(isValid); // 输出:true
    }
}
quot;
; String time = "11:34:55"; boolean isValid = Pattern.matches(regex, time); System.out.println(isValid); // 输出:true } }

PHP

<?php
$regex = "/^(?:1[0-2]|0?[1-9]):[0-5]\d:[0-5]\d$/";
$time = '11:34:55';

preg_match($regex, $time, $matches);

if (!empty($matches)) {
    echo "时间格式有效";
}

Python

import re

regex = r"^(?:1[0-2]|0?[1-9]):[0-5]\d:[0-5]\d
import re

regex = r"^(?:1[0-2]|0?[1-9]):[0-5]\d:[0-5]\d$"
time = '11:34:55'

result = re.match(regex, time)

if result:
    print("时间格式有效")
quot;
time = '11:34:55' result = re.match(regex, time) if result: print("时间格式有效")