zpět k lekci

Najděte celou značku

Napište regulární výraz, který najde značku <style...>. Měl by najít celou značku: nemusí mít žádné atributy <style> nebo jich může mít několik <style type="..." id="...">.

…Tento RV by však neměl najít <styler>!

Příklad:

let rv = /váš RV/g;

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

Začátek vzoru je zřejmý: <style.

…Pak ale nemůžeme jednoduše napsat <style.*?>, protože tomu by odpovídalo i <styler>.

Potřebujeme buď mezeru za <style a pak nepovinně něco dalšího, nebo koncové >.

V jazyce regulárních výrazů: <style(>|\s.*?>).

V akci:

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

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