gpt4 book ai didi

regex - PowerShell:输出正则表达式而不是结果

转载 作者:行者123 更新时间:2023-12-03 00:24:40 24 4
gpt4 key购买 nike

好的,长期访客,第一次发帖。

不用PowerShell告诉我我的正则表达式的结果是“True”或“False”,而是我想要的字符串。我知道还有其他方法可以执行此操作,并且我已经有一个可用的版本,但是我想使用正则表达式来“提取”字符串。

例如:

$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"

只返回“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]
}

或者,您可以使用.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 }

请享用 :)

关于regex - PowerShell:输出正则表达式而不是结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9269011/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com