Freitag, August 21, 2015

Regex sucht Dateinamen aus einer Befehlskette

Angenommen es gibt einen Befehl, der den Parameter -file mehrfach zulässt.
Der Wert des Parameters kann in drei Varianten eigegeben werden:
mit und ohne Leerzeichen, in Gänsefüßchen
mit und ohne Leerzeichen, in Hochkommas
ohne Leerzeichen, ohne Hochkammas, ohne Gänsefüßchen.

PoSh Snippet:

[regex]::matches("`
Befehl -file ""Dateiname1 mit Leerzeichen.txt"" `
-option x `
-file D_atei.txt `
-file 'Dateiname2 mit Leerzeichen.txt' `
-option y", `
"(?<=-file )(('.+')|("".+"")|(\S+))") `
|%{$_.value}

Anwendung zur Suche der Profildatei der Github Shell

[regex]::matches([environment]::commandline,"(?<=-File )(('.+')|("".+"")|(\S+))").value


Keine Kommentare: