Регулярдык туюнтмаларда тамга топторун инверттөө
Квардраттык кашаалардын башындагы шляпка '^' жардамы менен каалаган нерсени инверттөөгө болот. Башкача айтканда, мисалы, [ab] буйругу
'a' же 'b' тамгасын издесе, анда [^ab] буйругу
'a' жана 'b' тамгаларынан башка бардык тамгаларды издешект.
Мисал
Бул мисалда издөө үлгүсү төмөнкүдөй көрүнөт:
тамга 'x', андан кийин 'a' тамгасы эмес,
'b' эмес жана 'c' эмес, андан кийин 'z' тамгасы:
let str = 'xaz xbz xcz xez';
let res = str.replace(/x[^abc]z/g, '!');
Натыйжада өзгөрмөгө төмөнкү жазылат:
'xax xbx xcx !'
Мисал
Бул мисалда издөө үлгүсү төмөнкүдөй көрүнөт:
тамга 'x', андан кийин кичине латын тамгасы эмес,
андан кийин 'z' тамгасы:
let str = 'xaz xbz x1z xCz';
let res = str.replace(/x[^a-z]z/g, '!');
Натыйжада өзгөрмөгө төмөнкү жазылат:
'xaz xbz ! !'
Практикалык тапшырмалар
Төмөнкү үлгү боюнча саптарды таба турган регулярдык туюнтма жазыңыз:
цифра '1', андан кийин 'e' тамгасы эмес жана
'x' эмес, андан кийин цифра '2'.
Төмөнкү үлгү боюнча саптарды таба турган регулярдык туюнтма жазыңыз:
тамга 'x', андан кийин 2 дан 7 га чейинки цифра эмес,
андан кийин 'z' тамгасы.
Төмөнкү үлгү боюнча саптарды таба турган регулярдык туюнтма жазыңыз:
тамга 'x', андан кийин чоң латын тамгасы эмес 1 жана андан көп жолу,
андан кийин 'z' тамгасы.
Төмөнкү үлгү боюнча саптарды таба турган регулярдык туюнтма жазыңыз:
тамга 'x', андан кийин чоң же кичине латын тамгасы эмес жана 1 дан 5 га чейинки цифра эмес 1 жана андан көп жолу,
андан кийин 'z' тамгасы.