Регулярное выражение для разбора номера версии
У меня есть номер версии следующей формы:
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
Может ли кто-нибудь предоставить мне не слишком сложное регулярное выражение для проверки и получения номеров версий, версий и модификаций?