创建正则表达式以匹配持续时间(而不是时间)的 00:00:00 格式
create regex to match format of 00:00:00 for duration (not time)
您好,我正在使用 laravel,我想验证创建一个正则表达式,该正则表达式将允许持续时间的特定格式(不是时间,因为这可以超过 24 小时格式)。因此,例如 124 小时 30 分 24 秒将表示如下 124:30:24。但是第一个值可以超过1个字符和一个数字,第二个值需要是一个冒号,第三个值需要是2个字符和一个数字,第四个值需要是一个冒号,第五个值需要是2个字符和一个数字。
我有什么想法可以创建一个正则表达式来实现插入到以下数组中吗?
$rules = array(
'duration' => 'required|regex:/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).+$/'
);
无效示例:
alphacharacters e.g. qwerty
0:0:0
0:
0
1
30:211:211
30:2111:2111
a:d:d
asd
有效示例:
01:00:00
1:00:00
30:21:21
330:21:21
1330:21:21
11330:21:21
basically any amount of hours.
给出你的例子这个正则表达式应该足够了:
^\d+:\d{2}:\d{2}$
演示:https://regex101.com/r/kO4xN2/2
\d
是一个数字
+
是一个量词,表示一个或多个前面的字符(或组)
{}
是允许的字符数(你也可以给它一个范围)
^$
是锚点,所以字符串必须完全匹配,如果字符串中的内容较多,则应将其删除。
您好,我正在使用 laravel,我想验证创建一个正则表达式,该正则表达式将允许持续时间的特定格式(不是时间,因为这可以超过 24 小时格式)。因此,例如 124 小时 30 分 24 秒将表示如下 124:30:24。但是第一个值可以超过1个字符和一个数字,第二个值需要是一个冒号,第三个值需要是2个字符和一个数字,第四个值需要是一个冒号,第五个值需要是2个字符和一个数字。
我有什么想法可以创建一个正则表达式来实现插入到以下数组中吗?
$rules = array(
'duration' => 'required|regex:/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).+$/'
);
无效示例:
alphacharacters e.g. qwerty
0:0:0
0:
0
1
30:211:211
30:2111:2111
a:d:d
asd
有效示例:
01:00:00
1:00:00
30:21:21
330:21:21
1330:21:21
11330:21:21
basically any amount of hours.
给出你的例子这个正则表达式应该足够了:
^\d+:\d{2}:\d{2}$
演示:https://regex101.com/r/kO4xN2/2
\d
是一个数字
+
是一个量词,表示一个或多个前面的字符(或组)
{}
是允许的字符数(你也可以给它一个范围)
^$
是锚点,所以字符串必须完全匹配,如果字符串中的内容较多,则应将其删除。