Regular expression pattern allowing numbers and asterisk

How can I get the last 4 digits in $ MyBuildNumber, which could also be an asterisk? I want $ NewVersion to return "2.8.1. *"; however, this code returns nothing to me:

$MyBuildNumber = "MyBuildNumberIs_2.8.1.*" $VersionRegex = "\d+[*]?\.\d+[*]?\.\d+[*]?\.\d+[*]?" $VersionData = [regex]::matches($MyBuildNumber,$VersionRegex) switch($VersionData.Count) { 0 { Write-Error "Could not find version number data in MyBuildNumber." exit 1 } 1 {} } $NewVersion = $VersionData[0] Write-Host "Version: $NewVersion" 
+5
source share
2 answers

You can use a character class with a digit and * :

 [\d*]+\.[\d*]+\.[\d*]+\.[\d*]+ 
+5
source

anubhava beat me, but here is a more compact version of the same, because why not:

 ([\d*]+\.){3}[\d*]+ 
+2
source

All Articles