如何使用PowerShell中的Select-String和regex匹配来捕获值?

时间:2014-07-10 09:58:57

标签: regex powershell

我尝试使用Select-String从正则表达式匹配中访问捕获。这是文本的一个例子。

'dataarea' - closed, 10,933 rows are stored

我想捕获行数(10,933)。

PS> Select-String -Path $foo -Pattern 'closed,\s\d+[.,\d.*]{1,}' `
    | %{ $_.Matches } `
    | %{ $_.Value } > $output

我尝试了不同的正则表达式,但无法弄清楚如何捕获数字。这也捕获了开场模式closed

2 个答案:

答案 0 :(得分:1)

这是另一种可能性:

'(?<=closed.*)[0-9,]+'

到目前为止,无法保证逗号将始终存在,或者总是只有一个逗号。

答案 1 :(得分:-1)

这可以使用或不使用逗号来分隔1000&#39>:

$regex = '\d+[,|]+\d+'