Como o padrão funciona
| Parte | Significado |
|---|---|
< | Colchete angular de abertura |
\/? | Barra opcional para tags de fechamento |
[A-Za-z][A-Za-z0-9-]* | Nome da tag, incluindo elementos personalizados como my-card |
(?:\s[^<>]*)? | Atributos opcionais |
\/?> | Barra opcional de autofechamento e o colchete de fechamento |
Exemplos de código
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];
Notas e limitações
Serve bem para buscas rápidas e destaques, mas regex não consegue analisar HTML de forma confiável (comentários, scripts, atributos contendo >). Use DOMParser ou um parser de verdade para qualquer coisa importante. Para remover tags e manter o texto, veja remover tags HTML com regex.
Testador de Expressões Regulares
Digite um padrão e veja as correspondências serem destacadas em tempo real no seu texto de teste.