/ / extraer todas las cadenas entre dos personajes powershell - powershell, powershell-v2.0

extraer todas las cadenas entre dos caracteres powershell - powershell, powershell-v2.0

Los siguientes son los dos personajes. 1. {{ 2.}} Estoy tratando de encontrar todas las cadenas entre estos caracteres en el siguiente archivo.

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

y estoy usando los siguientes comandos de powershell,

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

y mi salida es solo una cadena. No está tirando de todas las cuerdas. ¿Alguien por favor me puede sugerir cómo obtener todas las cadenas. Gracias por adelantado.

Respuestas

7 para la respuesta № 1

[regex]::Match() solo devuelve el primero partido. Utilizar [regex]::Matches() para capturar todos los partidos:

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