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
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.
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.
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.
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.
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'.
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).
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.
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.
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.
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.