Regular Expressions in PowerShell

Regular Expressions sind Muster mit denen Texte verglichen werden können oder auch Infos aus Texten extrahiert werden können. Zum Beispiel könnt ihr damit überprüfen, ob eine Logdatei von einem Programm die Zeichenfolge “Error” enthält (also um zu prüfen, ob ein Fehler aufgetreten ist). Oder um einfach nur zu schauen, ob eine Zeichenkette einem bestimmten Muster entspricht, zum Beispiel einer E-Mail Adresse. 🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt. ...

2024-03-19 · 18 Minuten · Andreas Dieckmann

PowerShell Regular Expressions zum Abgleich von Dateinamen verwenden

Ein kurzes Beispiel für PowerShell Regular Expressions. Szenario: Dateinamen wie ID1234_MyDocumentXYZ.pdf.lnk abgleichen. Wir wollen die Zahl nach ID und den Rest des Dateinamens zwischen Unterstrich _ und Dateiendung .lnk extrahiert haben. 1 2 3 4 5 $oldLink = "ID1337_MyDocumentXYZ.pdf.lnk" if($oldLink -match 'ID(?<id>\d+)_(?<actualFilename>.+)\.lnk$') { Write-Output "ID: $($Matches.id)" Write-Output "Actual Filename: $($Matches.actualFilename)" } (?<id>\d+) ist eine benannte Regex-Capture-Group (initialisiert mit ?<groupname>). Die Group matched jedes numerische Zeichen (\d). Das + danach ist ein Multiplikator, damit gegen beliebig viele numerische Zeichen gematcht wird. Da die Regular Expression erfolgreich gematcht hat, ist als Ergebnis $true zurückgekommen und wir haben den if-Block ausgeführt. ...

2021-10-25 · 1 Minute · Andreas Dieckmann