我正在尝试创建一个脚本,用于选择公司计算机在主机名中拥有的四个数字。
我在正则表达式网站上测试了正则表达式'\d{4}'
,它可以正常选择四个数字。但是当它与powershell一起使用时,只能获得$ true或$ false。
我需要将4个数字保存在变量中供以后使用,但我还没有实现。
任何想法??
$machinename = "mac0016w701"
$test = $machinename -match '\d{4}'
$test2= Select-String -Pattern '\d{4}' -inputobject $machinename
$test2
答案 0 :(得分:1)
-match
是一个返回true / false的运算符,因此您可以在测试中使用它。如果你想要正则表达式的值,它会设置魔术变量$Matches
,例如
PS D:\> 'computer1234' -match '\d{4}'
True
PS D:\> $matches[0]
1234
或者,您可以使用:
[regex]::Matches('computer1234', '\d{4}').Value