#регулярные_выражения
Пытаюсь сделать минипарсер формулы, на выходе должно быть 5 групп:
(1)(2)(3)(4)(5)
Есть 3 возможных варианта:
Если после буква заглавная, то после неё может следовать 'w', вторая группа в этом
случае пустая:
([2-3]?)()([ACD]{1})([w]?)([2']?)
Во втором случае вторая и четвёртая группы всегда пустые:
([2-3]?)()([acd]{1})()([2']?)
Если вначале 2 цифры, то обязательно через '-' и обязательно первая меньше второй...
т.е. тут нужно как-то исключить вариант '3-3' из возможных. Четвёртая группа в этом
случае всегда пустая.
([2-3]{1})-([3-5]{1})([acd]{1})()([2']?)
Как объединить эти три правила в одну формулу? Может быть, что-то можно записать
компактнее?
Ответы
Ответ 1
Немного оптимизированное для PCRE выражение на основе групп со сбросом нумерации захватывающих подмасок будет выглядеть как (?
Комментариев нет:
Отправить комментарий