我不确定我是否以正确的方式提出这个问题或使用正确的符号,但这就是我想要做的。
我弄完了
$matches=$_|Select-String '(?smi)(\d*)\: (.*?)' -AllMatches | Foreach{$_.Matches}
Select-String 返回类型 [MatchInfo],并且 Foreach 吸出该类型的 Matches 属性,即类型 [System.Array]
$matches 是找到的每个匹配项的 [System.Text.RegularExpressions.Group] 元素数组,但我想要的是捕获组值结果的二维数组。
也就是说,我想要一个包含如下元素的数组:
$whatiwant=
($matches[0].Groups[1].Value,$matches[0].Groups[2].Value),
($matches[1].Groups[1].Value,$matches[1].Groups[2].Value),
($matches[2].Groups[1].Value,$matches[2].Groups[2].Value),
($matches[3].Groups[1].Value,$matches[3].Groups[2].Value),
...
我该如何构建这个数组?
谢谢。