Совпадение номеров версий для изящных откатов - с Regex? - PullRequest
0 голосов
/ 15 августа 2011

Мой продукт имеет номера версий, такие как major.minor.subminor.Различные ресурсы шаблонизируются версией, так что, скажем, 7.0.1 может определять сообщение и может использоваться через строку 7.X, за исключением версий 7.2.3 и 7.2.8, которые настраивают сообщение.8.0.1 может затем изменить сообщение.

Мне нужно получить наиболее подходящую версию ресурсов.Это была бы последняя определенная версия, если бы не было точного соответствия, сначала по младшему, затем по второстепенному, а затем основному.

Я думаю, это довольно стандартная практика.Является ли этот вид соответствия наилучшим образом (или даже возможным) с регулярным выражением, и если да, то каким будет регулярное выражение?Или мне просто пойти дальше и реализовать этот алгоритм?

1 Ответ

1 голос
/ 15 августа 2011

Пример: Django использует список регулярных выражений для сопоставления входящих URL-адресов с представлениями.

Итак, простой список регулярных выражений, где первое совпадение - это то, которое вы хотите, а затем вы используете его данные.

Ваш описанный список должен выглядеть следующим образом:

/^8/      "Message 4"
/^7.2.8/  "Message 3"
/^7.2.3/  "Message 2"
/^7/      "Message 1"
...