Tipp: Mit Regex auf das Nichtvorhandensein von Text prüfen

Regexe (reguläre Ausdrücke) sind enorm praktisch, aber wie ich es aus meinen PowerShell-Schulungen weiß, sie wirken nicht gerade einladend. Ein weiteres „Problem“ ist, dass einfache Dinge am Anfang enorm kompliziert wirken. Ein einfaches Beispiel: Wie prüfe ich per Regex, dass eine Zeichenkette nicht mit einem bestimmten Muster beginnt? Der NotMatch-Operator ist nur scheinbar eine Lösung, der prüft, ob das gesamte Muster nicht vorkommt.

Ausgangspunkt ist eine Liste von Namen:

Das Ziel soll es sein, dass alle Namen ausgegeben werden, die nicht mit „Server“ beginnen. Klar, dafür gibt es den Like-Operator, doch als kleine Schwierigkeitssteigerung soll auch die Zahl am Ende ausgegeben werden (auf die theoretisch wiederum Buchstaben folgen könnten).

Das folgende Muster löst die Aufgabe:

Es kann entweder per Match-Operator:

oder per [Regex] angewendet werden. In diesem Fall erhält man auch die Ziffer über die zweite Gruppe:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden .