Regex Cheat Sheet
Interaktive Regular-Expression-Referenz mit Live-Pattern-Tests und Copy-on-Click-Beispielen.
Live-Tester
Anchors
| Muster | Beschreibung | |
|---|---|---|
| ^ | Start of string / line | |
| $ | End of string / line | |
| \b | Word boundary | |
| \B | Non-word boundary | |
| \A | Start of string only | |
| \Z | End of string only |
Quantifiers
| Muster | Beschreibung | |
|---|---|---|
| * | 0 or more times | |
| + | 1 or more times | |
| ? | 0 or 1 time (optional) | |
| {n} | Exactly n times | |
| {n,} | n or more times | |
| {n,m} | Between n and m times | |
| *? | Lazy 0 or more | |
| +? | Lazy 1 or more |
Character Classes
| Muster | Beschreibung | |
|---|---|---|
| . | Any character except newline | |
| \d | Digit [0-9] | |
| \D | Non-digit | |
| \w | Word char [a-zA-Z0-9_] | |
| \W | Non-word character | |
| \s | Whitespace | |
| \S | Non-whitespace | |
| [abc] | Character set — a, b, or c | |
| [^abc] | Negated set — not a, b, or c | |
| [a-z] | Character range |
Groups & Alternation
| Muster | Beschreibung | |
|---|---|---|
| (abc) | Capturing group | |
| (?:abc) | Non-capturing group | |
| (?<name>abc) | Named capturing group | |
| (?=abc) | Positive lookahead | |
| (?!abc) | Negative lookahead | |
| (?<=abc) | Positive lookbehind | |
| (?<!abc) | Negative lookbehind | |
| a|b | Alternation — a or b |
Flags
| Muster | Beschreibung | |
|---|---|---|
| g | Global — find all matches | |
| i | Case-insensitive | |
| m | Multiline — ^ and $ match line boundaries | |
| s | Dotall — . matches newline too | |
| u | Unicode mode | |
| y | Sticky — match at exact position |
Common Patterns
| Muster | Beschreibung | |
|---|---|---|
| ^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,}$ | Email address | |
| https?:\/\/[\w\-._~:/?#[\]@!$&'()*+,;=%]+ | URL (http/https) | |
| ^\+?[1-9]\d{1,14}$ | Phone number (E.164) | |
| ^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$ | Date (YYYY-MM-DD) | |
| ^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$ | IPv4 address | |
| ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ | UUID v4 | |
| ^#(?:[0-9a-fA-F]{3}){1,2}$ | Hex color code | |
| ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$ | Strong password (min 8 chars, upper+lower+digit) |
Klicken Sie auf ein Muster, um es in den Tester zu laden
Über dieses Tool
Reguläre Ausdrücke sind eine mächtige Musterkennzeichnungssprache, die in der Programmierung, Datenverarbeitung, Textanalyse und unzähligen Anwendungen verwendet wird. Das Erlernen von Regex kann aufgrund der prägnanten Syntax und zahlreicher Sonderzeichen überwältigend wirken, aber das Verständnis der Grundlagen——Anker, Quantoren, Zeichenklassen, Gruppen und Lookarounds——ermöglicht es, komplexe Textprobleme elegant zu lösen. Dieser Regex-Spickzettel vereint die wesentlichsten Muster und Konzepte in einer interaktiven Referenz.
Durchsuchen Sie einfach die kuratierten Muster und Konzepte, gruppiert nach Kategorie: Anker (^, $, \b), Quantoren (*, +, ?, {n,m}), Zeichenklassen ([...], \d, \s), Gruppen und Erfassungen (..., ?:...), und Lookarounds (positive und negative Lookaheads und Lookbehinds). Der Live-Pattern-Tester ermöglicht es Ihnen, eine eigene Testzeichenfolge und einen Regex einzugeben, um Treffer in Echtzeit hervorgehoben zu sehen. Kopieren Sie ein beliebiges Muster mit einem Klick und fügen Sie es direkt in Ihren Code oder ein Regex-Debugging-Tool ein.
Speichern Sie dieses Werkzeug als Lesezeichen, wann immer Sie eine schnelle Auffrischung der Syntax benötigen. Ob Sie E-Mail-Adressen validieren, Protokolldateien analysieren, Daten aus HTML extrahieren, unübersichtliche Zeichenfolgen bereinigen oder Code durchsuchen — reguläre Ausdrücke sind unverzichtbar. Die angezeigten Muster sind mit den meisten Sprachen (JavaScript, Python, Java, Go usw.) kompatibel, obwohl sich einige erweiterte Funktionen je nach Implementierung leicht unterscheiden.
Häufig gestellte Fragen
Code-Implementierung
import re
# Common regex patterns
email_pattern = r'^[w.-]+@[w.-]+.[a-zA-Z]{2,}$'
url_pattern = r'https?://[w-._~:/?#[]@!$&'()*+,;=%]+'
ipv4_pattern = r'^(?:(?:25[0-5]|2[0-4]d|[01]?dd?).){3}(?:25[0-5]|2[0-4]d|[01]?dd?)$'
# Test email
email = "user@example.com"
if re.match(email_pattern, email):
print(f"{email} is valid")
# Find all matches
text = "Contact us at info@example.com or support@test.org"
emails = re.findall(r'[w.-]+@[w.-]+.[a-zA-Z]{2,}', text)
print("Found emails:", emails)
# Named groups
date_text = "Today is 2024-03-15"
match = re.search(r'(?P<year>d{4})-(?P<month>d{2})-(?P<day>d{2})', date_text)
if match:
print(f"Year: {match.group('year')}, Month: {match.group('month')}")
# Substitution
result = re.sub(r's+', ' ', "hello world foo").strip()
print(result) # "hello world foo"Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.