In Powershell finde ich mich diese Art der Sache immer und immer wieder für Begegnungen:Gibt es eine kürzere Möglichkeit, Gruppen aus einem Powershell Regex zu ziehen?
some-command | select-string '^(//[^#]*)' |
%{some-other-command $_.matches[0].groups[1].value}
Also im Grunde - einen Befehl ausführen, Textzeilen erzeugt, und für jede Zeile möchte ich auf ein einen Befehl auszuführen Regex-Capture innerhalb der Zeile (wenn es übereinstimmt). Scheint wirklich einfach. Das obige funktioniert, aber gibt es eine kürzere Möglichkeit, diese Regex-Capture-Gruppen herauszuziehen? Perl hatte $ 1 und so weiter, wenn ich mich recht erinnere. Posh muss etwas ähnliches haben, oder? Ich habe "$ Matches" Referenzen auf SO gesehen, kann aber nicht herausfinden, was das bringt.
Ich bin sehr neu zu PowerShell BTW, gerade erst begonnen zu lernen.
Eh? Er stimmt mit einer Zeile überein, die mit Doppel-Schrägstrich (//) beginnt und gierig bis zum (aber nicht zum) ersten Hash (#) passt. Es gibt keine Markierung am Ende der Zeile, also passt er nicht spezifisch auf die gesamte Zeile. –
Ja, das ist die Art von Dingen, nach denen ich gesucht habe. Danke für die Bearbeitung, Bas. – scobi