Регулярды өрнектердегі инверттеу
Шақша басындағы '^' белгісінің көмегімен
қалаған нәрсені инверттеуге болады. Яғни,
егер, мысалы, [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' әрпі.