正则表达式模式允许数字和星号

TDN*_*TDN 5 regex powershell

如何获取$ MyBuildNumber中的最后4位数字,也可以是星号?我想$ NewVersion返回"2.8.1.*"; 但是,此代码不会为我返回任何内容:

$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"
Run Code Online (Sandbox Code Playgroud)

anu*_*ava 6

您可以使用带有数字的字符类和*:

[\d*]+\.[\d*]+\.[\d*]+\.[\d*]+
Run Code Online (Sandbox Code Playgroud)