Регуляр ифодаларда белгилар тўпламини инвертлаш

Квадрат қавс бошларидаги шляпка '^' ёрдамида исталган нарсани инвертлаш мумкин. Яъни, агар, масалан, [ab] буюруғи 'a' ёки 'b' ҳарфини изласа, [^ab] буюруғи эса 'a' ва 'b' дан бошқа барча белгиларни излайди.

Мисол

Ушбу мисолда қидируш намунаси шундай кўринади: 'x' ҳарфи, сўнг 'a' ҳарфи эмас, 'b' эмас ва 'c' эмас, кейин 'z' ҳарфи:

javascriptlet str = 'xaz xbz xcz xez';
let res = str.replace(/x[^abc]z/g, '!');

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

javascript'xax xbx xcx !'

Мисол

Ушбу мисолда қидируш намунаси шундай кўринади: 'x' ҳарфи, сўнг кичик лотин ҳарфи эмас, сўнг 'z' ҳарфи:

javascriptlet str = 'xaz xbz x1z xCz';
let res = str.replace(/x[^a-z]z/g, '!');

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

javascript'xaz xbz ! !'

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

Задание 1

Шаблон бўйича сатрларни топадиган регуляр ифодани ёзинг: '1' рақами, сўнг 'e' эмас ва 'x' эмас белги, '2' рақами.

Задание 2

Шаблон бўйича сатрларни топадиган регуляр ифодани ёзинг: 'x' ҳарфи, сўнг 2 дан 7 гача рақам эмас, 'z' ҳарфи.

Задание 3

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

Задание 4

Шаблон бўйича сатрларни топадиган регуляр ифодани ёзинг: 'x' ҳарфи, сўнг катта ёки кичик лотин ҳарфи эмас ва 1 дан 5 гача рақам эмас 1 ва ундан кўп марта, 'z' ҳарфи.