darsga qaytish

#abc yoki #abcdef formatida rangni toping

#abc yoki #abcdef formatida ranglarga mos keladigan RegExp yozing. Ya’ni: # keyin 3 yoki 6 o’n oltilik raqam.

Masalan:

let regexp = /sizning regepxiyingiz/g;

let str = "color: #3f3; background-color: #AA00ef; and: #abcd";

alert(str.match(regexp)); // #3f3 #AA00ef

P.S. Bu aniq 3 yoki 6 hex raqam bo’lishi kerak. #abcd kabi 4 ta raqamdan iborat qiymatlar mos kelmasligi kerak.

3 xonali #abc rangini qidirish uchun regexp: /#[a-f0-9]{3}/i.

Biz yana 3 ta ixtiyoriy olti burchakli raqamni qo’shishimiz mumkin. Bizga ko’proq yoki kamroq kerak emas. Rangda 3 yoki 6 ta raqam mavjud.

Buning uchun {1,2} kvantatoridan foydalanamiz: bizda /#([a-f0-9]{3}){1,2}/i bo’ladi.

Bu yerda [a-f0-9]{3} namunasi {1,2} kvantini qo’llash uchun qavslar ichiga olingan.

Amalda:

let regexp = /#([a-f0-9]{3}){1,2}/gi;

let str = "color: #3f3; background-color: #AA00ef; and: #abcd";

alert(str.match(regexp)); // #3f3 #AA00ef #abc

Bu yerda kichik muammo bor: naqsh mavzu:#abcd da #abc topildi. Buning oldini olish uchun oxiriga \b qo’shishimiz mumkin:

let regexp = /#([a-f0-9]{3}){1,2}\b/gi;

let str = "color: #3f3; background-color: #AA00ef; and: #abcd";

alert(str.match(regexp)); // #3f3 #AA00ef