Est-il possible de parser un code HTML ou XHTML avec les expressions régulières ?

Le langage [X]HTML ne peut normalement pas être parsé en utilisant les expressions régulières. Toutefois, l'opération est possible dans le cadre d'une tâche ponctuelle.

Le langage [X]HTML ne peut normalement pas être parsé en utilisant les expressions régulières. En effet, ce langage n'est pas un langage régulier. Une balise HTML peut contenir ou non des attributs et peut s'auto-fermer ou se fermer avec une balise fermante.

Par exemple :
<div color="red">Hello</div>
<div><span color="red">Hello</span></div>
<div><span color="red"/>Hello</div>

Ces 3 exemples d'écriture auront le même affichage dans un navigateur. La deuxième particularité du langage HTML rendant l'utilisation d'expressions régulières très compliquée est sa structure. Un document HTML est une imbrication de balises et de textes. Il n'y a pas d'ordre précis. Cela rend donc l'utilisation des expressions régulières trop difficile pour parser un document HTML quelconque.

Toutefois, on peut utiliser des expressions régulières pour parser un document HTML dans le cadre d'une tâche ponctuelle. Il faut alors connaître parfaitement la structure et le contenu du document pour pouvoir récupérer les informations nécessaires par le biais d'expressions régulières. Dans les autres cas, il est plus pratique d'utiliser un parseur XML.

HTML/CSS