1.3 KiB
1.3 KiB
Итак, нужно написать выражение для описания цвета, который начинается с "#", за которым следуют 6 шестнадцатеричных символов.
Шестнадцатеричный символ можно описать с помощью [0-9a-fA-F]
. Мы можем сократить выражение, используя не чувствительный к регистру шаблон [0-9a-f]
.
Для его шестикратного повторения мы будем использовать квантификатор {6}
.
В итоге, получаем выражение вида /#[a-f0-9]{6}/gi
.
//+ run
var re = /#[a-f0-9]{6}/gi;
var str = "color:#121212; background-color:#AA00ef bad-colors:f#fddee #fd2";
alert( str.match(re) ); // #121212,#AA00ef
Проблема этого выражения в том, что оно находит цвет и в более длинных последовательностях:
//+ run
alert( "#12345678".match( /#[a-f0-9]{6}/gi ) ) // #12345678
Если это является проблемой, то ее можно решить чуть более сложным выражением.