2015-07-21 609 views
5

如何获取$ 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" 

回答

5

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

[\d*]+\.[\d*]+\.[\d*]+\.[\d*]+ 
+1

Thanks @anubhava。它像一个魅力! – TDN

2

anubhava打我给它,但这里的相同的更紧凑因为为什么不是:

([\d*]+\.){3}[\d*]+ 
相关问题