РегÑлÑÑное вÑÑажение Ð´Ð»Ñ 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]. Ðли же как [0-9a-f], еÑли Ð¼Ñ Ð¸ÑполÑзÑем модиÑикаÑÐ¾Ñ i.
ÐаÑем Ð¼Ñ Ð¼Ð¾Ð¶ÐµÐ¼ добавиÑÑ ÐºÐ²Ð°Ð½ÑиÑикаÑÐ¾Ñ {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