РегÑлÑÑний виÑаз Ð´Ð»Ñ ÐºÐ¾Ð»ÑоÑÑв в HTML
СÑвоÑÑÑÑ ÑегÑлÑÑний виÑаз, Ñкий ÑÑÐºÐ°Ñ HTML-колÑоÑи запиÑÐ°Ð½Ñ Ñ ÑоÑмаÑÑ #ABCDEF: ÑпеÑÑÑ Ñимвол # за Ñким ÑлÑдÑÑÑÑ 6 ÑÑÑÑнадÑÑÑковиÑ
ÑимволÑв.
ÐÑиклад викоÑиÑÑаннÑ:
let regexp = /...Ð²Ð°Ñ ÑегÑлÑÑний виÑаз.../
let str = "color:#121212; background-color:#AA00ef bad-colors:f#fddee #fd2 #12345678";
alert( str.match(regexp) ) // #121212,#AA00ef
P.S. Ð ÑÑй задаÑÑ Ð½Ð°Ð¼ не поÑÑÑбно вÑаÑ
овÑваÑи ÑнÑÑ ÑоÑмаÑи запиÑÑ ÐºÐ¾Ð»ÑоÑÑв, Ñк напÑиклад #123 або rgb(1,2,3) ÑоÑо.
Ðам поÑÑбÑно знайÑи Ñимвол # за Ñким ÑлÑдÑÑÑÑ 6 ÑÑÑÑнадÑÑÑковиÑ
ÑимволÑв.
ШÑÑÑнадÑÑÑковий Ñимвол можна опиÑаÑи Ñк [0-9a-fA-F]. Ðбо, ÑкÑо заÑÑоÑÑваÑи пÑапоÑеÑÑ i , Ñо Ð·Ð°Ð¿Ð¸Ñ ÑкоÑоÑиÑÑÑÑ Ð´Ð¾ [0-9a-f].
ÐÐ°Ð»Ñ Ð¼Ð¸ познаÑимо за Ð´Ð¾Ð¿Ð¾Ð¼Ð¾Ð³Ð¾Ñ ÐºÐ²Ð°Ð½ÑиÑÑкаÑоÑа, Ñо нам поÑÑÑбно Ñаме 6 ÑакиÑ
ÑÑÑÑнадÑÑÑковиÑ
ÑимволÑв {6}.
Ð Ñ ÑезÑлÑÑаÑÑ, оÑÑимаÑмо Ñакий ÑегÑлÑÑний виÑаз: /#[a-f0-9]{6}/gi.
let regexp = /#[a-f0-9]{6}/gi;
let str = "color:#121212; background-color:#AA00ef bad-colors:f#fddee #fd2"
alert( str.match(regexp) ); // #121212,#AA00ef
ÐÑоблема в ÑомÑ, Ñо виÑевказаний ÑегÑлÑÑний виÑаз Ð·Ð½Ð°Ñ Ð¾Ð´Ð¸Ñиме код колÑоÑÑ Ð½Ð°Ð²ÑÑÑ Ñ Ð´Ð¾Ð²ÑÐ¸Ñ Ð¿Ð¾ÑлÑдовноÑÑÑÑ .
alert( "#12345678".match( /#[a-f0-9]{6}/gi ) ) // #123456
Щоб випÑавиÑи Ñе, ми додамо \b Ñ ÐºÑнÑÑ Ð²Ð¸ÑазÑ:
// колÑÑ
alert( "#123456".match( /#[a-f0-9]{6}\b/gi ) ); // #123456
// не колÑÑ
alert( "#12345678".match( /#[a-f0-9]{6}\b/gi ) ); // null