создать регулярное выражение для соответствия формату 00:00:00 на время (не время)

Привет, я использую 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.

4

Решение

Приведите ваши примеры, этого регулярного выражения должно хватить:

^\d+:\d{2}:\d{2}$

Демо-версия: https://regex101.com/r/kO4xN2/2

\d это число
+ является квантификатором, означающим один или несколько предшествующих символов (или групп)
{} допустимое количество символов (также можно указать диапазон)
^$ являются якорями, поэтому строка должна быть точно совпадающей, если в строке содержится больше содержимого, ее следует удалить.

6

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]