У меня есть номер версии следующей формы:
version.release.modification
где версия, выпуск и модификация являются либо набором цифр, либо символом подстановки '*'. Кроме того, любое из этих чисел (и любое предыдущее) может отсутствовать.
Таким образом, следующие значения действительны и разбираются как:
1.23.456 = version 1, release 23, modification 456
1.23 = version 1, release 23, any modification
1.23.* = version 1, release 23, any modification
1.* = version 1, any release, any modification
1 = version 1, any release, any modification
* = any version, any release, any modification
Но они не действительны:
*.12
*123.1
12*
12.*.34
Может ли кто-нибудь предоставить мне не слишком сложное регулярное выражение для проверки и получения номеров выпуска, версии и модификации?