Logo Wand.Tools

Reguläre Ausdrücke Generator

Intelligente Generierung und Erklärung von regulären Ausdrücken, unterstützt verschiedene gängige Mustervergleiche

Reguläre Ausdrücke zum Abgleich von E-Mail-Adressen - Komplette Anleitung

  # Reguläre Ausdrücke zum Abgleich von E-Mail-Adressen - Komplette Anleitung
  
  ## Grundlegender E-Mail-Abgleich
  
  Das einfachste Regex für den E-Mail-Abgleich:
  ```regex
  \S+@\S+\.\S+

Abgleichbeispiele:

Abgleich gängiger E-Mail-Formate

Standard-E-Mail-Format Regex:

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

Merkmale:

  • Erlaubt Groß- und Kleinbuchstaben, Ziffern
  • Unterstützt Sonderzeichen wie . _ % + -
  • Der Domänenteil muss mindestens 2 Zeichen haben

Strenge E-Mail-Validierung

RFC 5322 Standard Regex:

^(?:[a-z0-9!#$%&'*+/=?^_\{|\}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_\{|\}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$

Unterstützung internationaler E-Mail-Adressen

Regex, das Unicode-Zeichen unterstützt:

^[^\s@]+@[^\s@]+\.[^\s@]+$

Oder eine präzisere Version:

^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$

Aufschlüsselung des Regulären Ausdrucks

Am Beispiel des Standard-E-Mail-Regex:

^                         # Anfang der Zeichenkette
[a-zA-Z0-9._%+-]+        # Teil des Benutzernamens
@                         # @ Symbol
[a-zA-Z0-9.-]+           # Teil der Domäne
\.                        # Punkt
[a-zA-Z]{2,}             # Top-Level-Domäne
$                         # Ende der Zeichenkette

Implementierungsbeispiele in verschiedenen Sprachen

JavaScript

const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;

Python

import re
email_regex = re.compile(r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$')

PHP

$emailRegex = '/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/';

Java

Pattern emailPattern = Pattern.compile("^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$");

Häufig gestellte Fragen

1. Wie gleicht man E-Mail-Adressen mit IP-Adressen ab?

^[a-z0-9._%+-]+@([0-9]{1,3}\.){3}[0-9]{1,3}$

2. Wie gleicht man E-Mail-Adressen mit Portnummern ab?

^[a-z0-9._%+-]+@[a-z0-9.-]+:\d+$

3. Wie schließt man E-Mail-Adressen von bestimmten Domänen aus?

^(?!.*@(spamdomain|blocked)\.com$)[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$

Leistungsoptimierung

  1. Verwenden Sie nicht-erfassende Gruppen (?:) anstelle von erfassenden Gruppen ().
  2. Vermeiden Sie übermäßig komplexe verschachtelte Strukturen.
  3. Führen Sie zuerst eine grundlegende Validierung im Web-Frontend durch.
  4. Kompilieren Sie reguläre Ausdrücke für häufige Anwendungsfälle vor.
^(?=[a-z0-9@.!#$%&'*+/=?^_\{|\}~-]{6,254}$)[a-z0-9._%+-]{1,64}@(?:[a-z0-9-]{1,63}\.){1,8}[a-z]{2,63}$