Регулярное выражение для ISO 8601 duration

Шаблон для P3Y6M4DT12H30M5S с опциональными частями и ведущим P/T.

ПресетСтраница примера инструмента

Регулярное выражение для ISO 8601 duration — поля заполнены примером, их можно менять. Настройки уедут в ссылку «Поделиться», а заголовок страницы и вкладки описывают исходный пресет, а не текущие поля.

Вернуться к обычному виду инструмента: Регулярные выражения

Об этом примере

Длительность по ISO 8601 пишут с префиксом P и, при наличии времени, с T: P3Y6M4DT12H30M5S. Шаблон допускает опциональные блоки лет, месяцев, дней, часов, минут и секунд в правильном порядке и требует хотя бы одного компонента. Тест P1DT2H30M — пример из суток, двух часов и тридцати минут. Значения без ведущего P или с нарушенным порядком отвергаются. Пресет помогает разбирать периоды в расписаниях и медиа-метаданных.

Флаги пишутся подряд, без запятой и без пробелов. Поддерживаются g (все совпадения), i (без учёта регистра), m (^ и $ в каждой строке), s (. включает перевод строки), u (режим Unicode), y (поиск с позиции lastIndex), v (наборы Unicode вместо одиночных классов) и d (индексы начала совпадений). Порядок не важен: «giu» и «ug» — одно и то же.

Объяснение

Начало строки затем 'P' затем впереди не конец строки затем цифра (один или более раз) затем 'Y' (необязательно) затем цифра (один или более раз) затем 'M' (необязательно) затем цифра (один или более раз) затем 'D' (необязательно) затем 'T' затем цифра (один или более раз) затем 'H' (необязательно) затем цифра (один или более раз) затем 'M' (необязательно) затем цифра (один или более раз) затем '.' затем цифра (один или более раз) (необязательно) затем 'S' (необязательно) (необязательно) затем конец строки

Диаграмма выражения

Railroad — структура AST: терминалы, ветки и петли. NFA — переходы между состояниями автомата, ε-переходы отмечены пунктиром.

^Pnegative lookahead$?группа №1+\dY?группа №2+\dM?группа №3+\dD?группа №4T?группа №5+\dH?группа №6+\dM?группа №7+\d?группа (?:).+\dS$

Подсветка токенов

Цвет показывает роль фрагмента: литерал, класс, квантор, группа и т.д.

Live-тест

Готовые регулярки

Каталог регулярок →

Найдено: 66 из 66