Реттік өрнектердегі инверттеу
Шляпка '^' көмегімен
шаршы жақшалардың басында
қалаған нәрсені инверттеуге болады.
Егер, мысалы, [ab] командасы
'a' немесе 'b' әрпін іздесе,
онда [^ab] командасы 'a' және
'b' әріптерін қоспағанда барлық
таңбаларды іздейді.
Мысал
Бұл мысалда іздеу шаблоны былай
көрінеді: 'x' әрпі, содан кейін
'a' емес, 'b' емес және
'c' емес әрпі, содан кейін
'z' әрпі:
txt = 'xaz xbz xcz xez'
res = re.sub('x[^abc]z', '!', txt)
print(res)
Кодты орындау нәтижесі:
'xax xbx xcx !'
Мысал
Бұл мысалда іздеу шаблоны былай
көрінеді: 'x' әрпі, содан кейін
кіші латын әрпі ЕМЕС, содан кейін
'z' әрпі:
txt = 'xaz xbz x1z xCz'
res = re.sub('x[^a-z]z', '!', txt)
print(res)
Кодты орындау нәтижесі:
'xaz xbz ! !'
Практикалық есептер
Мына шаблон бойынша жолдарды табатын
реттік өрнек жазыңыз: 1 цифры,
содан кейін 'e' емес және 'x'
емес таңба, 2 цифры.
Мына шаблон бойынша жолдарды табатын
реттік өрнек жазыңыз: 'x' әрпі,
содан кейін 2-ден 7-ге дейінгі
цифра ЕМЕС, 'z' әрпі.
Мына шаблон бойынша жолдарды табатын
реттік өрнек жазыңыз: 'x' әрпі,
содан кейін 1 және одан да көп рет
үлкен латын әрпі ЕМЕС, 'z' әрпі.
Мына шаблон бойынша жолдарды табатын
реттік өрнек жазыңыз: 'x' әрпі,
содан кейін 1-ден 5-ке дейінгі
үлкен немесе кіші латын әрпі ЕМЕС және
цифра ЕМЕС 1 және одан да көп рет,
'z' әрпі.