(?:[_.]\d+)? # optional patchlevel
(?:[_-]RC\d+|[_-]?dev(?:start)?)? # optional RC or dev(start)
(?:(?:[_-]\d+)? # git tag distance
(?:[_.]\d+)? # optional patchlevel
(?:[_-]RC\d+|[_-]?dev(?:start)?)? # optional RC or dev(start)
(?:(?:[_-]\d+)? # git tag distance