Regex-Tester
Teste reguläre Ausdrücke anhand von Text und lass alle Treffer hervorheben. Unverzichtbar für Entwickler, die mit Musterabgleich, Datenvalidierung oder Textverarbeitung arbeiten. Debugge und verfeinere deine Regex-Muster in Echtzeit. Die visuelle Rückmeldung zeigt genau, worauf dein Ausdruck zutrifft.
Häufig gestellte Fragen
Was ist ein regulärer Ausdruck (regex)?
Ein regulärer Ausdruck ist eine Folge von Zeichen, die ein Suchmuster definiert. Regex wird für die Suche, den Abgleich und die Bearbeitung von Text auf der Grundlage von Mustern und nicht von exakten Zeichenfolgen verwendet. Er ist unglaublich leistungsfähig für Aufgaben wie die Validierung von E-Mail-Adressen, das Extrahieren von Daten aus Text, Such- und Ersetzungsvorgänge und das Parsen von Protokolldateien.
Wie kann ich testen, ob mein Regex-Muster funktioniert?
Gib dein Regex-Muster in das Musterfeld ein und füge deinen Testtext in das Textfeld ein. Das Tool hebt alle Treffer in Echtzeit hervor und zeigt dir genau, was dein Muster erfasst. Wird nichts hervorgehoben, findet dein Muster keine Treffer. Nutze diese visuelle Rückmeldung, um dein Muster so lange zu verfeinern, bis es genau das findet, was du brauchst.
Was sind gängige Regex-Flags und was bewirken sie?
Die gebräuchlichsten Flags sind: 'g' (global) findet alle Treffer statt nur den ersten, 'i' (ohne Beachtung der Groß- und Kleinschreibung) ignoriert Unterschiede zwischen Groß- und Kleinschreibung, 'm' (mehrzeilig) lässt ^ und $ auf Zeilenanfang und -ende statt nur auf Zeichenfolgenanfang und -ende zutreffen, und 's' (dotall) lässt . auch Zeilenumbrüche erfassen. Kombiniere Flags wie 'gi' für eine globale Suche ohne Beachtung der Groß- und Kleinschreibung.
Wie kann ich E-Mail-Adressen oder URLs mit Regex abgleichen?
Für E-Mail-Adressen: Probiere /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/ zur grundlegenden Validierung. Für URLs funktioniert /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/ in den meisten Fällen. Eine vollständige Validierung von E-Mail-Adressen und URLs ist extrem komplex – diese Muster decken die meisten gängigen Fälle ab.
Was ist der Unterschied zwischen .* und .+?
Der Punkt (.) entspricht einem beliebigen Zeichen. Das Sternchen (*) bedeutet "null oder mehr Mal", während das Pluszeichen (+) "ein oder mehr Mal" bedeutet. So passt .* auf null oder mehr beliebige Zeichen (auch auf nichts), während .+ mindestens ein Zeichen zur Übereinstimmung erfordert. Zum Beispiel: 'a.*b' passt zu 'ab' oder 'a123b', aber 'a.+b' passt nur zu 'a123b'.
Wie mache ich meine Regex nicht gierig?
Quantifizierer wie *, + und {n,m} sind standardmäßig gierig: Sie erfassen so viel wie möglich. Füge nach dem Quantifizierer ein Fragezeichen (?) ein, damit er nicht gierig (lazy) ist und so wenig wie möglich erfasst. Im Text '<div>hello</div><div>world</div>' erfasst /<div>.*<\/div>/ beispielsweise die gesamte Zeichenfolge (gierig), während /<div>.*?<\/div>/ jedes Tag einzeln erfasst (nicht gierig).
Was sind Erfassungsgruppen und wie kann ich sie verwenden?
Capturing-Gruppen verwenden Klammern (), um bestimmte Teile eines Treffers zu extrahieren. /user-(\d+)/ erfasst beispielsweise die numerische Benutzer-ID. In den meisten Sprachen kannst du über die Match-Gruppen auf den erfassten Wert zugreifen. Verwende (?:...), wenn du eine Gruppe für Quantifizierer brauchst, aber den Wert nicht erfassen möchtest.
Wie kann ich Regex für das Parsen von Protokolldateien testen?
Füge Beispiel-Logeinträge in den Bereich für den Testtext ein und erstelle Muster, um Zeitstempel, IP-Adressen, Statuscodes oder Fehlermeldungen zu extrahieren. Die visuelle Hervorhebung zeigt genau, was erfasst wird. So kannst du Muster verfeinern, bevor du sie in Log-Analyse-Tools wie Logstash, Splunk oder eigenen Skripten einsetzt.
Was sind Lookaheads und Lookbehinds in Regex?
Lookaheads (?=...) und Lookbehinds (?<=...) behaupten, dass ein Muster vor oder hinter der Zahl existiert, ohne es in die Übereinstimmung einzubeziehen. Zum Beispiel stimmt /\d+(?= Dollar)/ mit Zahlen überein, die von " Dollar" gefolgt werden, erfasst aber nur die Zahl. Negative Lookaheads (?!...) und negative Lookbehinds (?<!...) behaupten, dass das Muster NICHT existiert.
Kann ich dieses Tool zur Validierung von Formulareingaben verwenden?
Ja! Teste Regex-Muster zur Formularvalidierung, zum Beispiel für Telefonnummern, Postleitzahlen, Kreditkarten oder eigene Formate. Die visuelle Rückmeldung hilft dir sicherzustellen, dass deine Validierungsmuster gültige Eingaben akzeptieren und ungültige ablehnen, bevor du sie in deiner Anwendung implementierst.