2016-07-01 33 views
0

我想創建一個腳本,選擇公司計算機在主機名中的四個數字。powershell正則表達式選擇字符串變量

我在一個正則表達式網站測試了正則表達式'\d{4}',它可以很好地選擇四個數字。但是在PowerShell中使用它時只會得到$ true或$ false。

我需要這4個數字在變量中保留以備後用,但我沒有實現它。

任何想法??

$machinename = "mac0016w701" 
$test = $machinename -match '\d{4}' 

$test2= Select-String -Pattern '\d{4}' -inputobject $machinename 
$test2 

回答

1

-match是返回真/假操作,這樣你就可以在測試中使用它。如果你想要來自正則表達式的值,它設置魔術變量$Matches,例如,

PS D:\> 'computer1234' -match '\d{4}' 
True 
PS D:\> $matches[0] 
1234 

或者,你可以使用:

[regex]::Matches('computer1234', '\d{4}').Value 
相關問題