Reguläre Ausdrücke mit Powershell: Untergruppen matchen
Wenn man nicht das gesamte Muster ‚hart‘ ersetzen möchte, sondern in Abhängigkeit des gematchten Strings, dann bieten sich Gruppen an.
In folgendem Beispiel suche ich alle <h1>-Überschriften und ersetze diese durch <h2>-Überschriften. Dabei wird nicht die Powershell-eigene
replace
-Funktion benutzt, sondern die entsprechende .Net Klasse. Das, was zwischen den beiden Tags steht, ist über $1
zugänglich.
$string = "<h1>Hallo</h1>" $pattern = "<h1>(\w+)</h1>" [regex]::Replace($string,$pattern,'<h2>$1</h2>') |