So funktioniert das Muster
| Teil | Bedeutung |
|---|---|
< | Öffnende spitze Klammer |
\/? | Optionaler Schrägstrich für schließende Tags |
[A-Za-z][A-Za-z0-9-]* | Tag-Name, inklusive eigener Elemente wie my-card |
(?:\s[^<>]*)? | Optionale Attribute |
\/?> | Optionaler Schrägstrich für selbstschließende Tags und die schließende Klammer |
Codebeispiele
JavaScript
const matches = text.match(/<\/?[A-Za-z][A-Za-z0-9-]*(?:\s[^<>]*)?\/?>/g) ?? [];Python
import re
matches = re.findall(r'</?[A-Za-z][A-Za-z0-9-]*(?:\s[^<>]*)?/?>', text)PHP
preg_match_all('/<\/?[A-Za-z][A-Za-z0-9-]*(?:\s[^<>]*)?\/?>/', $text, $m);
$matches = $m[0];
Hinweise und Einschränkungen
Gut für schnelle Suchen und Hervorhebungen. Regex kann HTML aber nicht zuverlässig parsen (Kommentare, Scripts, Attribute mit >). Für alles Wichtige nutze DOMParser oder einen echten Parser. Um Tags zu entfernen und den Text zu behalten, siehe HTML-Tags mit Regex entfernen.
Regex-Tester
Gib ein Muster ein und sieh zu, wie Übereinstimmungen in deinem Testtext in Echtzeit hervorgehoben werden.