Fonctionnement du motif
| Élément | Rôle |
|---|---|
< | Chevron ouvrant |
\/? | Barre oblique facultative pour les balises de fermeture |
[A-Za-z][A-Za-z0-9-]* | Nom de la balise, y compris les éléments personnalisés comme my-card |
(?:\s[^<>]*)? | Attributs facultatifs |
\/?> | Barre oblique facultative des balises auto-fermantes et chevron fermant |
Exemples de code
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];
Remarques et limites
Suffisant pour des recherches rapides et la mise en surbrillance, mais les regex ne peuvent pas analyser le HTML de façon fiable (commentaires, scripts, attributs contenant >). Pour tout usage important, utilisez DOMParser ou un analyseur HTML complet. Pour supprimer les balises en conservant le texte, consultez supprimer les balises HTML avec une regex.
Testeur d’expressions régulières
Saisissez un modèle et observez les correspondances s'afficher en temps réel dans votre texte de test.