我已使用此代码验证了我的正则表达式是否正确:
#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时,有谁可以告诉我为什么正则表达式不匹配?
答案 0 :(得分:1)
将输出传递给Get-Member后,我注意到Select-String返回一个MatchInfo对象,我需要访问MatchInfo.Matches属性才能得到结果。感谢Mathias R. Jessen给我的提示! ;)