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



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

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

我正在使用以下电源外壳命令,

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

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

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

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

最新更新