Регулярное выражение для римского числа

Шаблон для римских чисел от I до MMMCMXCIX.

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

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

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

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

Римское число записывают из символов I, V, X, L, C, D, M с правилами повторов и вычитания. Шаблон охватывает диапазон от I до MMMCMXCIX, допуская корректные вычитающие пары вроде IV и CM. Тест MCMXCIV — 1994. Значения с недопустимыми парами вроде IL или VX отвергаются, как и больше 3999. Выражение не производит арифметику. Используйте пресет для разбора римских дат на памятниках, в заголовках глав и нумерации томов.

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

Объяснение

Начало строки затем 'M' (от 0 до 4 раз) затем одно из: 'C' затем 'M' или 'C' затем 'D' или 'D' (необязательно) затем 'C' (от 0 до 3 раз) затем одно из: 'X' затем 'C' или 'X' затем 'L' или 'L' (необязательно) затем 'X' (от 0 до 3 раз) затем одно из: 'I' затем 'X' или 'I' затем 'V' или 'V' (необязательно) затем 'I' (от 0 до 3 раз) затем конец строки

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

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

^{0,4}Mгруппа №1CMCD?D{0,3}Cгруппа №2XCXL?L{0,3}Xгруппа №3IXIV?V{0,3}I$

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

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

Live-тест

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

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

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