Semantic Version
Format RegEx: ^(?P<major>0|[1-9]\d*) \.(?P<minor>0|[1-9]\d*) \.(?P<patch>0|[1-9]\d*) (?:-(?P<prerelease>(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))? (?:\+(?P<buildmetadata>[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$.