Регулярдык туюнтмаларда тамга топторун инверттөө

Квардраттык кашаалардын башындагы шляпка '^' жардамы менен каалаган нерсени инверттөөгө болот. Башкача айтканда, мисалы, [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' тамгасы.