使用Select String

时间:2016-05-17 16:51:03

标签: regex powershell select-string

我已使用此代码验证了我的正则表达式是否正确:

#this is the string where I'm trying to extract everything within the []
$text = "MS14-012[2925418],MS14-029[2953522;2961851]"
$text -match "\[(.*?)\]"
$matches[1]

输出:

True
2925418

我想使用Select-String来获取我的结果,例如:

$result = $text| Select-String -Pattern $regex

输出:

MS14-012[2925418],MS14-029[2953522;2961851]

我还尝试了什么:

$result = Select-String -Pattern $regex -InputObject $text
$result = Select-String -Pattern ([regex]::Escape("\[(.*?)\]")) -InputObject $text

还有更多的变化以及正则表达式周围不同类型的“和”等等。我真的没有想法......

当我使用Select-String时,有谁可以告诉我为什么正则表达式不匹配?

1 个答案:

答案 0 :(得分:1)

将输出传递给Get-Member后,我注意到Select-String返回一个MatchInfo对象,我需要访问MatchInfo.Matches属性才能得到结果。感谢Mathias R. Jessen给我的提示! ;)