Dies ist meine erste Post auf StackOverflow, und Regex ist neu für mich, bitte ertragen Sie mit mir.Regex - Passende Zeichen dann erfassen
Ich versuche, Felder in einem Powershell-Befehlsereignisprotokoll zu erfassen. Ich habe Text in folgendem Format:
(Get-AdUser): name="Identity"; value="Username"
Ich möchte in der Klammer die Zeichenfolge erfassen Get-ADUser und auch den Wert Feld „username“ erfassen
Wenn möglich eine endgültige Ausgabe von
Get-AdUser Username
wäre perfekt.
Das Problem ist, dass ich jeden Wert innerhalb der Klammer außer dem Wort "Out-Default" erfassen möchte. Out-Default ist die Ausgabe eines Befehls und nicht der Befehl selbst.
Bisher habe ich:
\((?!Out-Default)([^)]+)\)
, die etwas in der Klammer mit Ausnahme von "Out-Default" ist passend.
Ich bin mir nicht sicher, wie ich es von hier aus angehen soll. Jeder Rat wird geschätzt.
Update - ist es möglich, nur 1 Capture-Gruppe zu verwenden, zu erfassen:
(Get-AdUser): name="Identity"; value="Username"
und das Ergebnis anzeigen lassen wie
Get-AdUser name=Identity value=Username
?
Wie ungefähr \ ((?! Out-Default) ([^)] +) \). *; \ s + (\ w +) (? = \ = \ "Benutzername \") – Ashish