Vip*_*ppy 1 regex string powershell extract
好的,长时间访问者,第一次发帖.
而不是PowerShell告诉我我的正则表达式的结果是"真"或"假",而是我想要字符串.我知道有其他方法可以做到这一点,我已经有一个工作版本,但我想使用正则表达式"提取"字符串.
例如:
$ipconfig = ipconfig | select-string "IPv4" | select-object -first 1
$ipconfig -match "\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b"
Run Code Online (Sandbox Code Playgroud)
只返回"True",而不是我想要的IP地址.
有没有办法用正则表达式完成这个?
谢谢!
你已经知道了,只需要检查你免费得到的变量:
$ipconfig = ipconfig | select-string "IPv4" | select-object -first 1
if ($ipconfig -match "\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b") {
$matches[0]
}
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用.NET对象:
$ipconfig = ipconfig | select-string "IPv4" | select-object -first 1
([regex]"\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b").matches($ipconfig) | % { $_.value }
Run Code Online (Sandbox Code Playgroud)
请享用 :)