Здравствуйте, The Lex, Вы писали:
TL>Есть набор регулярных выражений для разделения заданной строки по типам. Как автоматически распределить их по порядку, чтобы, например, "любые строки" точно проверялось в самом конце и не "перехватывало", например, "только строки с буквы Ц"?
1. Только ручное ранжирование. Иначе начнутся спецэффекты при небольших модификациях одного из правил.
2. Можно попытаться ввести на пространстве регексов отношения частичного порядка, типа regA < regB если для любого текста T, который матчится по regB, regA тоже гарантированно будет матчить. Тогда можно проверить ручное ранжирование на предмет этой упорядоченности, т.к. если "следующее" правило < "предыдущего", то "следующее" не сработает никогда.
Вопрос о вычислении этого частичного порядка, имхо, достаточно сложен. Простые примеры тут уже привели; но есть масса несложных примеров, когда это не сработает.
... << RSDN@Home 1.2.0 alpha rev. 677>>