retour au cours

Trouver la balise entière

Écrivez une regexp pour trouver la balise <style...>. Il devrait trouver la balise en entier: il pourrait ne pas avoir d’attributs <style> ou en avoir plusieurs <style type="..." id="...">.

…Mais la regexp ne devrait pas trouver <styler>!

Par exemple:

let regexp = /your regexp/g;

alert( '<style> <styler> <style test="...">'.match(regexp) ); // <style>, <style test="...">

Le début du modèle est évident: <style.

…Mais nous ne pouvons pas juste écrire <style.*?> puisque <styler> y correspondrait.

Nous avons besoin soit d’un espace après <style et après optionellement quelque chose d’autre, ou bien la fin >.

Dans le langage des regexp : <style(>|\s.*?>).

En action :

let regexp = /<style(>|\s.*?>)/g;

alert( '<style> <styler> <style test="...">'.match(regexp) ); // <style>, <style test="...">