Итак, нужно написать выражение для описания цвета, который начинается с "#", за которым следуют 6 шестнадцатеричных символов. Шестнадцатеричный символ можно описать с помощью `pattern:[0-9a-fA-F]`. Мы можем сократить выражение, используя не чувствительный к регистру шаблон `pattern:[0-9a-f]`. Для его шестикратного повторения мы будем использовать квантификатор `pattern:{6}`. В итоге, получаем выражение вида `pattern:/#[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 ```