提取两个字符powershell之间的所有字符串

时间:2016-04-24 20:02:27

标签: powershell powershell-v2.0

以下是两个字符。  1. {{  2.}} 我正在尝试在以下文件中找到这些字符之间的所有字符串。

    <add key="CSDFG_SqlServerFailOverInterval" value="{{environment}}"/>
    <add key="CSDFG_JobResetInterval" value="600000"/>
    <add key="FileTypeFilter" value="{{filetype}}"/>

我正在使用以下powershell命令,

$x = C:\app.config
$s = Get-Content $x
$prog = [regex]::match($s,'{{([^/)]+)}}').Groups[1].Value
write-host $prog

我的输出只是一个字符串。它并没有拉动所有的弦。有人可以建议我如何获得所有的字符串。提前谢谢。

1 个答案:

答案 0 :(得分:8)

[regex]::Match()仅返回第一个匹配。使用[regex]::Matches()捕获所有匹配项:

$s = Get-Content 'C:\app.config'
[regex]::Matches($s, '{{([^/)]+)}}') |ForEach-Object { $_.Groups[1].Value }
相关问题