Skip to content

Instantly share code, notes, and snippets.

@nbolton
Last active July 21, 2023 13:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nbolton/584d590757fe56545895729b40618021 to your computer and use it in GitHub Desktop.
Save nbolton/584d590757fe56545895729b40618021 to your computer and use it in GitHub Desktop.
PowerShell function to parse version numbers with regex
function Get-Version-Number ([String]$versionText) {
# matches 1.2 or 1.2.3
$pattern = "(\d+)\.?(\d+)\.?((\d+)\.?)?"
$parts = [regex]::Matches($versionText, $pattern)
[hashtable]$version = @{}
if ($parts.Groups.Length -gt 0) {
$version.Major = [int]$parts.Groups[1].value
$version.Minor = [int]$parts.Groups[2].value
if ($parts.Groups.Length -gt 3) {
$version.Revision = [int]$parts.Groups[3].value
}
}
return $version
}
Get-Version-Number("foo 1.2 bar")
Get-Version-Number("foo 1.2.3 bar")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment