JavaScript-Regex
Einführung in Reguläre Ausdrücke (Regex) in JavaScript
Reguläre Ausdrücke, allgemein bekannt als Regex, sind Zeichenfolgen, die Suchmuster bilden. Sie sind unverzichtbare Werkzeuge in der Programmierung für Textverarbeitungsaufgaben wie das Suchen, Bearbeiten und Manipulieren von String-Daten. Regex wird in verschiedenen Bereichen eingesetzt, z. B. bei der Datenvalidierung, dem Parsing, der Syntaxhervorhebung und mehr.
For example, you can quickly validate an email address in JavaScript:
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
console.log(emailRegex.test("[email protected]")); // trueHinweis: Dies ist ein vereinfachtes Muster. Für die Produktionsvalidierung sollten strengere Regeln oder dedizierte Bibliotheken in Betracht gezogen werden.
Einsatzbereiche von Regex:
- Webentwicklung: Validierung von Formular-Eingaben, Parsen von URLs und Suche innerhalb von Inhalten.
- Datenanalyse: Extrahieren spezifischer Muster aus großen Datensätzen.
- Textbearbeitung: Finden und Ersetzen von Text in Dokumenten oder Codebasen.
- Programmiersprachen: Die meisten modernen Programmiersprachen, einschließlich JavaScript, unterstützen Regex.
Schnellreferenz: Flags & Quantifizierer
| Kategorie | Symbol/Flag | Beschreibung |
|---|---|---|
| Flags | i | Groß-/Kleinschreibung ignorieren |
g | Globales Match (alle Treffer finden) | |
m | Multiline-Modus (^ und $ matchen Zeilengrenzen) | |
s | Dotall-Modus (. matcht Zeilenumbrüche). Erfordert ES2018+-Unterstützung. | |
u | Unicode-Modus | |
y | Sticky-Modus (matcht nur ab lastIndex) | |
| Quantifizierer | * | 0 oder mehr Male |
+ | 1 oder mehr Male | |
? | 0 oder 1 Mal | |
{n} | Genau n Mal | |
{n,} | n oder mehr Male | |
{n,m} | Zwischen n und m Mal |
Lernziele
Durch die Bearbeitung der folgenden Themen erwerben Sie ein umfassendes Verständnis von Regex in JavaScript:
- Muster und Flags: Erlernen Sie die Grundlagen zur Erstellung von Regex-Mustern und die Auswirkungen verschiedener Flags (
i,g,m,s,u,y) auf das Regex-Verhalten. - Zeichensätze: Verstehen Sie, wie Sie verschiedene Zeichentypen mithilfe vordefinierter Sets matchen.
- Unicode-Unterstützung: Entdecken Sie die Verwendung des
u-Flags und Unicode-Eigenschafts-Escapes für die Verarbeitung mehrsprachiger Texte. - Anker: Nutzen Sie Anker wie
^und$, um den Anfang und das Ende von Strings zu matchen. - Multiline-Modus: Aktivieren Sie den Multiline-String-Match durch das
m-Flag. - Wortgrenzen: Verwenden Sie
`\b`, um Wortgrenzen im Text zu erkennen. - Escaping von Sonderzeichen: Lernen Sie, Sonderzeichen zu escapen, um sie in Mustern einzubinden.
- Sets und Bereiche: Definieren Sie Zeichensätze und Bereiche für ein flexibleres Matching.
- Quantifizierer: Verwenden Sie Quantifizierer (
+,*,?,{n}), um die Anzahl der Vorkommen anzugeben. - Greedy und Lazy Quantifizierer: Unterscheiden Sie zwischen greedy und lazy Quantifizierern, um das Match-Verhalten zu steuern.
- Capturing Groups: Nutzen Sie Klammern, um Zeichengruppen für die weitere Verwendung zu erfassen.
- Backreferences: Wiederverwendung erfasster Gruppen innerhalb desselben Regex mithilfe von Backreferences.
- Alternation: Matchen Sie eines von mehreren möglichen Mustern mit dem Alternationsoperator (
|). - Lookahead und Lookbehind: Verwenden Sie Lookaheads und Lookbehinds für Zero-Width-Assertions.
- Katastrophales Backtracking: Identifizieren und mildern Sie Leistungsprobleme, die durch Backtracking verursacht werden.
Am Ende dieser Lektionen werden Sie in der Lage sein, effektive Regex-Muster für verschiedene Textverarbeitungsaufgaben in JavaScript zu erstellen.