Regex für E-Mail-Adressen in Text finden

Verwende /[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/g, um jeden Treffer in einem Text zu finden. Jedes Beispiel unten ist gegen das Muster getestet. Du kannst es mit vorgeladenen Beispielen im Regex-Tester öffnen.

Aktualisiert am

/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/g
Im Regex-Tester öffnen

Beispieltext

Contact sales@example.com or support@devpack.app. Jane (jane.doe+news@mail.example.co.uk) replied; ignore @handles and user@localhost.

3 Treffer

sales@example.com support@devpack.app jane.doe+news@mail.example.co.uk

So funktioniert das Muster

TeilBedeutung
[A-Za-z0-9._%+-]+Der lokale Teil
@Das @-Zeichen
[A-Za-z0-9.-]+\.[A-Za-z]{2,}Die Domain und die Top-Level-Domain
g flagJeden Treffer finden, nicht nur den ersten

Code-Beispiele

JavaScript

const matches = text.match(/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/g) ?? [];

Python

import re

matches = re.findall(r'[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}', text)

PHP

preg_match_all('/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/', $text, $m);
$matches = $m[0];

Hinweise und Einschränkungen

Ohne die Anker ^ und $ findet das Muster Adressen überall im Text. Füge ein ganzes Dokument in den Regex-Tester ein, um alle Treffer aufzulisten.

Häufige Fragen

Wie lautet die Regex, um alle E-Mail-Adressen in Text zu finden?
/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/g — sie findet jeden Treffer in einem Text. Was jeder Teil macht, steht in der Tabelle oben.
Funktioniert es auch in Python und PHP?
Ja — die Code-Beispiele oben nutzen dasselbe Muster mit re in Python und preg-Funktionen in PHP.
Wie teste ich diese Regex?
Klicke auf „Im Regex-Tester öffnen“ — Muster, Flags und Beispieltext werden automatisch geladen, und Treffer werden beim Bearbeiten markiert.