🔍 1. Grundlagen: RegExp-Syntax & Flags
Ein Regulärer Ausdruck (RegExp) ist ein Suchmuster zur Textanalyse, Validierung und Transformation. In JavaScript erstellst du Regex entweder als Literal mit Schrägstrichen /muster/flags oder über das RegExp-Objekt:
// 1. Literal-Schreibweise (empfohlen bei festen Mustern):
const regexLiteral = /javascript/i; // 'i' = ignore case (Groß-/Kleinschreibung ignorieren)
// 2. Konstruktor-Schreibweise (für dynamische Muster aus Variablen):
const suchwort = "javascript";
const regexDynamic = new RegExp(suchwort, "i");
console.log(regexLiteral.test("Ich liebe JavaScript!")); // true
🚩 Wichtige Flags (Modifikatoren)
g(global): Findet alle Vorkommen im gesamten Text (nicht nur das erste).i(case-insensitive): Ignoriert Unterschiede zwischen Groß- und Kleinschreibung.m(multiline): Behandelt Zeilenumbrüche für^(Zeilenanfang) und$(Zeilenende).
🧩 2. Metazeichen & Quantifizierer
RegExp nutzt spezielle Steuerzeichen, um Zeichenklassen und Wiederholungen zu beschreiben:
^) & Textende ($){8,} (mind. 8)Stelle dir einen Regulären Ausdruck wie eine transparente Loch-Schablone vor, die du über eine riesige Zeitungswand legst. Die Löcher der Schablone sind so gestanzt, dass überall dort, wo eine E-Mail-Adresse, IBAN oder Telefonnummer steht, der Text sofort ins Auge springt, während der restliche Fließtext ausgeblendet wird.
⚙️ 3. RegExp-Methoden in JavaScript
Je nachdem, ob du prüfen, extrahieren oder ersetzen willst, bietet JS passende Methoden:
const text = "Support: info@code.de oder sales@code.de. Tel: 0171-1234567.";
// 1. regex.test(str) -> boolean (perfekt für Validierung):
const hatEmail = /@code\.de/.test(text); // true
// 2. str.match(regex) -> Array mit allen Treffern (mit Flag 'g'):
const emails = text.match(/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g);
console.log(emails); // ["info@code.de", "sales@code.de"]
// 3. str.replace(regex, neu) -> String ersetzen mit Capturing Groups:
const maskiert = text.replace(/(\d{4})-(\d+)/g, "$1-XXXX");
console.log(maskiert); // "... Tel: 0171-XXXX."
📑 4. Cheat-Sheet: RegExp Syntax & Methoden
| Syntax / Methode | Beispiel | Beschreibung |
|---|---|---|
/muster/flags |
/\d+/g |
Regex Literal mit Flags |
regex.test(str) |
/^[A-Z]/.test("Hallo") // true |
Prüft, ob Muster im String vorkommt (liefert true/false) |
str.match(regex) |
"12 a 34".match(/\d+/g) // ["12", "34"] |
Liefert Array aller Fundstellen |
str.replace(regex, sub) |
"Hi".replace(/i/, "allo") |
Ersetzt Treffer durch Ersatz-String oder Funktion |
[a-z0-9] |
[A-Z] // Großbuchstabe |
Zeichenklasse (Matcht ein beliebiges Zeichen im Bereich) |
(gruppe) & $1 |
str.replace(/(\d+)/, "Nr: $1") |
Capturing Group zum Wiederverwenden von Teiltreffern |
🧠 Diagnostischer Selbst-Check
Überprüfe dein Verständnis der Kernkonzepte und typischen Denkfallen, bevor du den Code in der Web-IDE schreibst.
🎯 5. Aufgaben & Checkliste in aufgabe.js
In str.replace(regex, replacement) kannst du runde Klammern (\d{4}) für die letzten 4 Ziffern verwenden und diese mit $1 im Ersatz-String einfügen!