Najděte barvu ve formátu #abc nebo #abcdef
Napište RV, který najde barvy ve formátu #abc nebo #abcdef. To znamená: # následované 3 nebo 6 hexadecimálními číslicemi.
Příklad použití:
let rv = /váš RV/g;
let řetězec = "color: #3f3; background-color: #AA00ef; and: #abcd";
alert( řetězec.match(rv) ); // #3f3 #AA00ef
P.S. Počet hexadecimálních číslic by měl být přesně 3 nebo 6. Hodnoty se 4 číslicemi, např. #abcd, by se neměly shodovat.
Regulární výraz hledající 3-cifernou barvu #abc: /#[a-f0-9]{3}/i.
Můžeme přidat přesně 3 další nepovinné hexadecimální číslice. Nepotřebujeme jich více ani méně. Barva má buď 3, nebo 6 číslic.
Použijme k tomu kvantifikátor {1,2}: získáme /#([a-f0-9]{3}){1,2}/i.
Zde je vzor [a-f0-9]{3} uzavřen do závorek, aby se na něj aplikoval kvantifikátor {1,2}.
V akci:
let rv = /#([a-f0-9]{3}){1,2}/gi;
let řetězec = "color: #3f3; background-color: #AA00ef; and: #abcd";
alert( řetězec.match(rv) ); // #3f3 #AA00ef #abc
Je tady malý problém: vzor nalezl #abc v #abcd. Abychom tomu zabránili, můžeme na konec přidat \b:
let rv = /#([a-f0-9]{3}){1,2}\b/gi;
let řetězec = "color: #3f3; background-color: #AA00ef; and: #abcd";
alert( řetězec.match(rv) ); // #3f3 #AA00ef