JavaScript регуляр ифодаларда тўпламлар ичидаги шляпка символы

Маълумингиздек, шляпка [ ] ичида инкорни ифодалайди, агар у қавс бошланишида ёзилган бўлса. Демак, у шу қавслар ичида махсус символдир. Шляпкани символ сифатида олиш учун уни ё ҳимoyalash ёки биринчи ўриндан олиб ташлаш керак.

Мисол

Куйидаги мисолда қидириш намунаси шундай: биринчи символ - 'd' дан бошқа ҳаммаси, сўнгра иккита 'x' ҳарфи.

javascriptlet str = 'axx bxx ^xx dxx';
let res = str.replace(/[^d]xx/g, '!');

Натижада ўзгарувчига куйидагилар ёзилади:

javascript'! ! ! dxx'

Мисол

Энди эса қидириш намунаси шундай: биринчи символ - 'd' ёки '^', сўнгра иккита 'x' ҳарфи:

javascriptlet str = 'axx bxx ^xx dxx';
let res = str.replace(/[d^]xx/g, '!');

Натижада ўзгарувчига куйидагилар ёзилади:

javascript'axx bxx ! !'

Мисол

Шляпкани биринчи ўриндан олиб ташламасдан, уни кайтарим чизиқ ёрдамида ҳимoyalash мумкин, ва ўзини англата бошлайди:

javascriptlet str = 'axx bxx ^xx dxx';
let res = str.replace(/[\^d]xx/g, '!');

Натижада ўзгарувчига куйидагилар ёзилади:

javascript'axx bxx ! !'

Амалий машқлар

Задание 1

Берилган сатр:

javascriptlet str = '^xx axx ^zz bkk @ss';

Регуляр ифодани ёзинг, куйидаги намуна бўйича сатрларни топадиган: шляпка ёки собака, сўнгра иккита лотин ҳарфи.

Задание 2

Берилган сатр:

javascriptlet str = '^xx axx ^zz bkk @ss';

Регуляр ифодани ёзинг, куйидаги намуна бўйича сатрларни топадиган: шляпка эмас ва собака эмас, сўнгра иккита лотин ҳарфи.

Задание 3

Берилган сатр:

javascriptlet str = '^xx axx ^zz bkk';

Регуляр ифодани ёзинг, куйидаги намуна бўйича сатрларни топадиган: шляпка эмас ва бушлиқ эмас, сўнгра иккита лотин ҳарфи.