Тұрақты өрнектердегі инверттеу
Шляпка ^ көмегімен шаршы жақшалардың басында қалаған нәрсені инверттеуге болады. Яғни,
егер, мысалы, [ab] командасы
'a' немесе 'b' әрпін іздесе,
онда [^ab] командасы
'a' және 'b'-тен басқа барлық таңбаларды іздейді.
Мысал
Бұл мысалда іздеу шаблоны келесідей:
'x' әрпі, содан кейін 'a' емес,
'b' емес және 'c' емес, содан кейін 'z' әрпі:
<?php
$str = 'xaz xbz xcz xez';
$res = preg_replace('#x[^abc]z#', '!', $str);
?>
Нәтижесінде айнымалыға мынаны жазады:
'xaz xbz xcz !'
Мысал
Бұл мысалда іздеу шаблоны келесідей:
'x' әрпі, содан кейін кіші латын әрпі емес,
содан кейін 'z' әрпі:
<?php
$str = 'xaz xbz x1z xCz';
$res = preg_replace('#x[^a-z]z#', '!', $str);
?>
Нәтижесінде айнымалыға мынаны жазады:
'xaz xbz ! !'
Практикалық тапсырмалар
Мынадай шаблон бойынша жолдарды табатын тұрақты өрнек жаз:
'1' цифры, содан кейін 'e' емес
және 'x' емес таңба,
'2' цифры.
Мынадай шаблон бойынша жолдарды табатын тұрақты өрнек жаз:
'x' әрпі, содан кейін 2-ден 7-ге дейінгі цифра емес,
'z' әрпі.
Мынадай шаблон бойынша жолдарды табатын тұрақты өрнек жаз:
'x' әрпі, содан кейін 1 және одан да көп рет үлкен латын әрпі емес,
'z' әрпі.
Мынадай шаблон бойынша жолдарды табатын тұрақты өрнек жаз:
'x' әрпі, содан кейін үлкен латын әрпі емес, кіші латын әрпі емес және 1-ден 5-ке дейінгі цифра емес
1 және одан да көп рет,
'z' әрпі.