Regex-Tester/ Echtzeit

Echtzeit-Match-Hervorhebung mit Capture-Group-Details, Ersetzungsmodus und eingebauten Mustern. Völlig lokal.

//
Schnell:
Testzeichenfolge

Geben Sie oben ein Muster ein.

Hat dieses Tool Ihr Problem gelöst?

Was ist ein Regex-Tester

Ein Regex-Tester ermöglicht es Entwicklern, reguläre Ausdrücke in Echtzeit zu testen und zu debuggen, mit sofortiger Anzeige von Match-Ergebnissen, Capture Groups und Ersetzungseffekten.

Gängige Regex-Anwendungsfälle

Formularvalidierung: E-Mail-, Telefon-, ID-Formate überprüfen. Datenextraktion: Bestimmte Muster aus Text extrahieren. Textersatz: Mustertreuen Text ersetzen. Protokollanalyse: Protokollzeilen nach Bedingungen filtern.

Code-Beispiele

JavaScript
const re = /(?<year>\d{4})-(\d{2})/g;
const str = "2024-03 and 2025-01";

for (const m of str.matchAll(re)) {
  console.log(m[0]);          // "2024-03"
  console.log(m.groups.year); // "2024"
  console.log(m[2]);          // "03"
  console.log(m.index);       // 0
}
Python
import re

pattern = r"(?P<year>\d{4})-(\d{2})"
text = "2024-03 and 2025-01"

for m in re.finditer(pattern, text):
    print(m.group(0))         // "2024-03"
    print(m.group("year"))    // "2024"
    print(m.group(2))         // "03"
    print(m.start())          // 0
Go
import "regexp"

re := regexp.MustCompile(
  `(?P<year>\d{4})-(\d{2})`,
)
text := "2024-03 and 2025-01"

matches := re.FindAllStringSubmatch(
  text, -1,
)
// matches[0][0] = "2024-03"
// matches[0][1] = "2024"  (year)
// matches[0][2] = "03"
Rust
use regex::Regex;

let re = Regex::new(
  r"(?P<year>\d{4})-(\d{2})"
).unwrap();
let text = "2024-03 and 2025-01";

for cap in re.captures_iter(text) {
    println!("{}", &cap[0]);  // "2024-03"
    println!("{}", &cap["year"]); // "2024"
    println!("{}", &cap[2]);  // "03"
}

Häufig gestellte Fragen

Was bewirken die Regex-Flags?
g (global) findet alle Treffer statt nur den ersten; i (ignore case) macht die Suche case-insensitive; m (multiline) lässt ^ und $ an Zeilengrenzen matchen; s (dotAll) lässt . auch Zeilenumbrüche matchen.
Wie verwende ich Capture Groups im Ersetzen?
Teile des Musters in () einschließen, dann als $1, $2 im Ersetzungsfeld referenzieren. Beispiel: Muster (\d{4})-(\d{2}) mit Ersetzung $2/$1 macht aus 2024-03 → 03/2024. Benannte Gruppen (?<name>…) werden als $<name> referenziert.
Was bedeutet der Match-Index?
Der Index ist der nullbasierte Zeichenoffset, an dem der Match im Originaltext beginnt. Nützlich in Code — entspricht dem Index von String.prototype.exec() oder match().
Wie matche ich Unicode / CJK-Zeichen?
Für chinesische Zeichen: [\u4e00-\u9fff]. Breiterer Bereich: [\u4e00-\u9fff\u3400-\u4dbf]. Mit dem u-Flag können Unicode-Property-Escapes wie \p{Script=Han} verwendet werden.
Was sind Lookahead- und Lookbehind-Assertions?
Sie matchen Positionen, nicht Zeichen: (?=…) positiver Lookahead — rechts muss matchen; (?!…) negativer Lookahead — rechts darf nicht matchen; (?<=…) positiver Lookbehind — links muss matchen; (?<!…) negativer Lookbehind — links darf nicht matchen.
Warum verursacht meine Regex eine Endlosschleife?
Beim g-Flag kann ein Muster, das leere Strings matcht (wie a* oder .*), lastIndex nach einem leeren Match nicht weiterschalten. Dieses Tool schaltet lastIndex automatisch weiter und begrenzt auf 2000 Matches.