Итак, нужно написать выражение для описания цвета, который начинается с "#", за которым следуют 6 шестнадцатеричных символов. Шестнадцатеричный символ можно описать с помощью [0-9a-fA-F]. Мы можем сократить выражение, используя не чувствительный к регистру шаблон [0-9a-f]. Для его шестикратного повторения мы будем использовать квантификатор {6}. В итоге, получаем выражение вида /#[a-f0-9]{6}/gi. ```js //+ 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 ``` Проблема этого выражения в том, что оно находит цвет и в более длинных последовательностях: ```js //+ run alert( "#12345678".match( /#[a-f0-9]{6}/gi ) ) // #12345678 ``` Чтобы такого не было, можно добавить в конец `\b`: ```js //+ run // цвет alert( "#123456".match( /#[a-f0-9]{6}\b/gi ) ); // #123456 // не цвет alert( "#12345678".match( /#[a-f0-9]{6}\b/gi ) ); // null ```