powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / регэксп на определение формата времени
7 сообщений из 7, страница 1 из 1
регэксп на определение формата времени
    #38485407
JustCrazy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
доброе утро, прошу помощи с регуляркой для определения введенного формата времени
допустимые форматы:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
чч:мм:сс
ч:м:с
чч мм сс
ч м с
мм:сс
м:с
мм сс
м с
сс
с


пробовал так, но что-то не получается... :
Код: php
1.
/^([0-5]?[0-9](?::|\s+))?([0-5]?[0-9](?::|\s+))?([0-5]?[0-9])$/
...
Рейтинг: 0 / 0
регэксп на определение формата времени
    #38485414
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JustCrazy,

/^(\d\d?)\D?(\d\d?)?\D?(\d\d?)?$/
но ИМХО это уже изврат. ибо в качестве простой цифры может в строке быть и не время а кол-во например. возможно много неправильных срабатываний.
формат на то он и формат - что должен быть строгим. а тут получается время это все что угодно. неправильно это
...
Рейтинг: 0 / 0
регэксп на определение формата времени
    #38485423
JustCrazy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
r uJustCrazy,
/^(\d\d?)\D?(\d\d?)?\D?(\d\d?)?$/
но ИМХО это уже изврат. ибо в качестве простой цифры может в строке быть и не время а кол-во например. возможно много неправильных срабатываний.
формат на то он и формат - что должен быть строгим. а тут получается время это все что угодно. неправильно это
не подойдет такая регулярка, я уже думал, у вас получается, что количество минут и секунд можно задать как 59 так и 99..
объясню задачу по-другому: сделал я примитивный таймер обратного отсчета с полем ввода, где ввожу значения в секундах, но если мне необходимо ввести значение для таймера, допустим, 29 минут 43 секунды - это же мне придется сначала с калькулятором посидеть, что не удобно для пользователя... поэтому хочу упростить задачу до минимума.
...
Рейтинг: 0 / 0
регэксп на определение формата времени
    #38485431
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JustCrazy,

/^(([01]?\d|2[0-3])\D)?([0-5]?\d\D)?([0-5]?\d)$/
...
Рейтинг: 0 / 0
регэксп на определение формата времени
    #38485441
JustCrazy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
r u,
спасибо.

сам сделал нечто иное
Код: php
1.
/(?:(\d+)(?:\D))?(?:(\d+)(?:\D))?(\d+)\D*$/

и отдельно добавил несколько условий проверки $1 $2 $3. в целом работает как надо.
...
Рейтинг: 0 / 0
регэксп на определение формата времени
    #38485457
Фотография volodin661
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JustCrazyдоброе утро, прошу помощи с регуляркой для определения введенного формата времени
допустимые форматы:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
чч:мм:сс
ч:м:с
чч мм сс
ч м с
мм:сс
м:с
мм сс
м с
сс
с


пробовал так, но что-то не получается... :
Код: php
1.
/^([0-5]?[0-9](?::|\s+))?([0-5]?[0-9](?::|\s+))?([0-5]?[0-9])$/




----------------------- от минимализма к обстоятельности :) ------------

Код: perl
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
use 5.10.0;

my $triple = qr/^(\d{1,2})(:|\s)(\d{1,2})(:|\s)(\d{1,2})$/;
my $duo = qr/^(\d{1,2})(:|\s)(\d{1,2})$/;
my $uno = qr/^(\d{1,2})$/;

$_ =  <>;
chomp;
($h,$sep,$m,$sep,$s)    = /$triple/;
($m,$sep,$s)            = /$duo/ unless $h and $m and $s;
($s)                    = /$uno/ unless $m and $s;

say "hour<$h> min<$m> sec<$s>";
say "Total sec = ", $h*60*60+$m*60+$s;


~
~
...
Рейтинг: 0 / 0
регэксп на определение формата времени
    #38485491
JustCrazy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
volodin661,

суть уловил, спасибо)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / регэксп на определение формата времени
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]