NewIntroducing QODEX QA Services — platform-powered QA for API-driven teams.Learn more →
Java RegEx-Tester

Java RegEx-Tester

Testen und debuggen Sie Java-reguläre Ausdrücke sofort mit dem Qodex Java RegEx-Tester, der von der java.util.regex-Engine angetrieben wird. Erhalten Sie Echtzeit-Feedback mit Trefferhervorhebungen, Capture-Gruppen und Syntaxfehlerkennung, ideal für Aufgaben wie E-Mail-Validierung, Passwortabgleich und musterbasiertes String-Parsing.


Ob Sie Login-Formulare, Eingabe-Validatoren oder benutzerdefinierte Parser erstellen: Dieses Tool optimiert Ihren Java-regex-Workflow. Kombinieren Sie es für umfassendes Testen mit dem E-Mail-Generator, dem UUID-Generator oder dem Passwort-Generator, um realistische Testeingaben zu erzeugen.


Verfeinern Sie spezifische Felder mit unserem E-Mail-Regex-Java-Validator oder dem Telefonnummer-Regex-Java-Validator, um sicherzustellen, dass Ihre Muster präzise und produktionsreif sind.

Java RegEx-Tester, Dokumentation

Java Regex-Tester

Der Java Regex-Tester von Qodex hilft Entwicklern dabei, reguläre Ausdrücke mithilfe von Javas java.util.regex-Paket in Echtzeit zu schreiben, zu testen und zu debuggen. Er unterstützt sofortiges Mustertesten für E-Mails, Passwörter, Telefonnummern, Datumsangaben, Kreditkarten und mehr.

Sie können Live-Trefferergebnisse, Capture-Gruppen und Syntax-Feedback sofort einsehen, was es einfach macht, Ihr regex zu verfeinern, bevor Sie es in Java-Code einsetzen.

Wichtiger Hinweis: Dieses Tool läuft im Browser mit der JavaScript-regex-Engine, die sich in einigen Punkten von Javas java.util.regex unterscheidet. Wichtige Unterschiede:

  • Possessive Quantoren (*+, ++, ?+) werden in Java unterstützt, nicht aber in JavaScript

  • Atomare Gruppen ((?>...)) funktionieren in Java, nicht in JavaScript

  • Unicode-Eigenschaftsklassen wie \p{IsGreek} oder \p{Sc} haben in Java eine umfassendere Unterstützung

  • Backreference-Syntax unterscheidet sich in Ersetzungsstrings: Java verwendet $1, JavaScript ebenfalls $1, aber Java unterstützt auch \1 im Muster

  • Flags: Java unterstützt Pattern.CANON_EQ und Pattern.UNIX_LINES, die kein JavaScript-Äquivalent haben

Überprüfen Sie kritische Muster für Java-Produktionscode immer mit Pattern.compile() in Ihrer IDE oder einer Java-Laufzeitumgebung.

So verwenden Sie den Tester:

  1. Geben Sie Ihren regulären Ausdruck ein.

  2. Stellen Sie einen Teststring bereit.

  3. Sehen Sie sofort hervorgehobene Treffer und Capture-Gruppen.

Benötigen Sie Testeingaben? Probieren Sie unsere:

Java Regex Kurzreferenz

Setzen Sie dieses Lesezeichen für schnelle Nachschlagen beim Schreiben von Java-regex-Mustern:

Muster

Beschreibung

Beispiel

Treffer

.

Beliebiges Zeichen außer Zeilenumbruch

c.t

cat, cot, cut

\d

Jede Ziffer [0-9]

\d{3}

123, 456

\D

Jedes Nicht-Ziffer-Zeichen

\D+

abc, hello

\w

Wortzeichen [a-zA-Z0-9_]

\w+

hello_42

\W

Nicht-Wortzeichen

\W

@, #, !

\s

Leerzeichen (Leerzeichen, Tab, Zeilenumbruch)

\s+

Leerzeichen, Tabs

\S

Kein Leerzeichen

\S+

hello

^

Anfang des Strings/der Zeile

^Hello

Hello am Anfang

$

Ende des Strings/der Zeile

world$

world am Ende

\b

Wortgrenze

\bcat\b

cat (nicht cats)

[abc]

Zeichenklasse

[aeiou]

beliebiger Vokal

[^abc]

Negierte Klasse

[^0-9]

Nicht-Ziffer

[a-z]

Bereich

[a-zA-Z]

beliebiger Buchstabe

*

0 oder mehr (gierig)

ab*c

ac, abc, abbc

+

1 oder mehr (gierig)

ab+c

abc, abbc

?

0 oder 1 (optional)

colou?r

color, colour

{n}

Genau n-mal

\d{4}

2024

{n,m}

Zwischen n und m-mal

\d{2,4}

12, 123, 1234

*?

0 oder mehr (faul)

<.*?>

kürzestes Tag

(abc)

Capture-Gruppe

(\d+)-(\d+)

Gruppen: 12, 34

(?:abc)

Nicht-Capture-Gruppe

(?:ab)+

ab, abab

(?=...)

Positiver Lookahead

\d(?=px)

5 in 5px

(?!...)

Negativer Lookahead

foo(?!bar)

foo nicht vor bar

(?<=...)

Positiver Lookbehind

(?<=@)\w+

Domain nach @

(?<!...)

Negativer Lookbehind

(?<!\d)px

px nicht nach Ziffer

\p{L}

Beliebiger Unicode-Buchstabe

\p{L}+

Hello, 你好

\1

Rückverweis auf Gruppe 1

(\w+)\s\1

hello hello

Java Regex Syntax Grundlagen

Metazeichen

  • .: Entspricht jedem einzelnen Zeichen außer Zeilenumbrüchen.

  • ^: Verankert den Treffer am Anfang einer Zeile oder eines Strings. Beispiel: ^abc passt auf abc nur am Anfang.

  • $: Verankert den Treffer am Ende einer Zeile oder eines Strings.

  • |: Wirkt als logischer ODER-Operator. Beispiel: cat|dog passt auf cat oder dog.

Zeichenklassen

  • [abc]: Entspricht einem der Zeichen a, b oder c.

  • [^abc]: Entspricht jedem Zeichen außer a, b oder c.

  • [a-zA-Z]: Bereich, entspricht jedem Groß- oder Kleinbuchstaben von a bis z.

Vordefinierte Zeichenklassen

  • \d: Entspricht jeder Ziffer; äquivalent zu [0-9].

  • \D: Entspricht jedem Nicht-Ziffer-Zeichen.

  • \s: Entspricht jedem Leerzeichen (Leerzeichen, Tab, Zeilenumbruch).

  • \S: Entspricht jedem Nicht-Leerzeichen.

  • \w: Entspricht jedem Wortzeichen (Buchstaben, Ziffern oder Unterstrich).

  • \W: Entspricht jedem Nicht-Wortzeichen.

Quantoren

  • *: Entspricht dem vorherigen Element null- oder mehrmals.

  • +: Entspricht ein- oder mehrmals.

  • ?: Entspricht null- oder einmal. Macht Quantoren auch faul, wenn dahinter gesetzt.

  • {n}: Entspricht genau n-mal.

  • {n,}: Entspricht n- oder mehrmals.

  • {n,m}: Entspricht zwischen n- und m-mal.

Gruppen und Capture

  • (abc): Erfasst und gruppiert den Treffer für abc.

  • (?:abc): Gruppiert abc ohne Capture.

  • (?i)abc: Aktiviert Groß-/Kleinschreibungsignorierung für die Gruppe.

  • \b: Wortgrenze.

  • \1, \2 usw.: Rückverweise auf Capture-Gruppen.

Logische Behauptungen (Lookaheads und Lookbehinds)

  • (?=...): Positiver Lookahead. Stellt sicher, dass was folgt, dem Muster entspricht.

  • (?!...): Negativer Lookahead. Stellt sicher, dass was folgt, nicht dem Muster entspricht.

  • (?<=...): Positiver Lookbehind. Stellt sicher, dass was vorausgeht, dem Muster entspricht.

  • (?<!...): Negativer Lookbehind. Stellt sicher, dass was vorausgeht, nicht dem Muster entspricht.

Gierige vs. faule Quantoren

  • *?: So wenig wie möglich, null- oder mehrmals.

  • +?: So wenig wie möglich, ein- oder mehrmals.

  • ??: So wenig wie möglich, null- oder einmal.

  • {n,m}?: Zwischen n und m-mal, mit kleinstmöglichem Treffer.

Faule Quantoren sind nützlich, wenn Sie vermeiden möchten, zu viel Text zu verbrauchen, besonders bei verschachtelten Tags oder wiederholten Trennzeichen.

Unicode-Unterstützung

  • \p{L}: Entspricht jedem Buchstaben aus einer beliebigen Sprache.

  • \p{N}: Entspricht jedem numerischen Zeichen.

  • \p{IsGreek}: Entspricht jedem Zeichen im griechischen Unicode-Block.

  • \P{...}: Das Gegenteil von \p{...}.

Unicode-Eigenschaften ermöglichen globalen Einsatz Ihres regex, ideal für internationale Anwendungen.

Häufige Java-Regex-Beispiele

Jedes Beispiel unten enthält vollständigen, lauffähigen Java-Code, den Sie in Ihre IDE kopieren können.

1. E-Mail-Validierung

Verwenden Sie den E-Mail-Regex-Java-Validator

import java.util.regex.*;

public class EmailValidator { public static void main(String[] args) { String email = "test@example.com"; Pattern pattern = Pattern.compile("^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$"); Matcher matcher = pattern.matcher(email); System.out.println("Email valid: " + matcher.matches()); // true } }

2. Starkes Passwort prüfen

Testen Sie mit dem Passwort-Regex-Java-Validator

import java.util.regex.*;

public class PasswordValidator { public static void main(String[] args) { String password = "Str0ng@Pass!"; String regex = "(?=.[a-z])(?=.[A-Z])(?=.\d)(?=.[@$!%?&])[A-Za-z\d@$!%?&]{8,}"; boolean isStrong = password.matches(regex); System.out.println("Password strong: " + isStrong); // true } }

3. Telefonnummer-Formate

Deckt (123) 456-7890, 1234567890, 123-456-7890 ab:

import java.util.regex.*;

public class PhoneValidator { public static void main(String[] args) { String[] phones = {"(123) 456-7890", "1234567890", "123-456-7890"}; Pattern pattern = Pattern.compile( "^(\d{10}|\(\d{3}\)[\s.-]?\d{3}[\s.-]\d{4}|\d{3}[\s.-]\d{3}[\s.-]\d{4})$" ); for (String phone : phones) { System.out.println(phone + " valid: " + pattern.matcher(phone).matches()); } } }

4. IPv4-Adress-Validierung

import java.util.regex.*;

public class IPv4Validator { public static void main(String[] args) { String ip = "192.168.1.1"; String regex = "^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$"; System.out.println(ip + " valid: " + ip.matches(regex)); // true } }

Wichtige Tipps

  • Escapen Sie regex-Zeichen in Java-Strings immer doppelt (z. B. \. für einen wörtlichen Punkt).

  • Bevorzugen Sie Nicht-Capture-Gruppen, wenn Sie keine Rückverweise benötigen.

  • Verwenden Sie kein regex für strukturierte Formate wie JSON, HTML oder XML. Nutzen Sie stattdessen Parser.

  • Verwenden Sie Pattern.compile() einmalig und nutzen Sie kompilierte Muster wieder, um die Leistung zu verbessern.

Weitere regex-Muster in Java testen:

In einer anderen Sprache testen? Probieren Sie unsere:

Frequently Asked Questions

Wie schreibe ich ein regex-Muster in Java-Code?

Verwenden Sie Pattern.compile() und Matcher aus java.util.regex, um regex zu definieren und anzuwenden.

Wie prüfe ich, ob ein String genau einem Muster entspricht?

Verwenden Sie "IhrString".matches("IhrMuster") für einen vollständigen Treffer.

Wie kann ich mein regex in Java Groß-/Kleinschreibungsunabhängig machen?

Verwenden Sie das Flag (?i) im Muster oder Pattern.CASE_INSENSITIVE.

Wie validiere ich eine E-Mail-Adresse mit Java-regex?

Verwenden Sie das Muster ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$.

Was ist der Unterschied zwischen gierigen und faulen Quantoren?

Gierige Quantoren treffen so viel wie möglich; faule Quantoren so wenig wie nötig. Fügen Sie ? nach einem Quantor ein, um ihn faul zu machen (z. B. *? statt *).

Verwendet dieses Tool die Java-regex-Engine?

Dieses Tool läuft im Browser mit der JavaScript-regex-Engine, die Java ähnelt, aber einige Unterschiede aufweist. Possessive Quantoren (*+, ++), atomare Gruppen (?>...) und einige Unicode-Eigenschaften (\p{IsGreek}) funktionieren in Java, nicht aber in JavaScript. Überprüfen Sie kritische Muster immer in einer Java-Laufzeitumgebung.

Wie validiere ich Kreditkartennummern verschiedener Kartentypen mit regulären Ausdrücken?

Verwenden Sie kartenspezifische Präfixmuster: Visa beginnt mit 4 (13 oder 16 Stellen), MasterCard mit 51-55 (16 Stellen), AmEx mit 34 oder 37 (15 Stellen). Kombinieren Sie die regex-Formatprüfung immer mit dem Luhn-Algorithmus für die reale Validierung.

Testen Sie Ihre APIs noch heute

Schreiben Sie in einfachem Deutsch, Qodex erstellt daraus sichere, sofort ausführbare Tests.