PHP регуляр ифодаларда тўплам ичидаги шляпка символы

Малумингиздек, [] ичидаги шляпка инкорни ифодалайди, агар у қавс бошланғичида ёзилган бўлса. Демак, у шу қавс ичида махсус символдир. Шляпкани символ сифатида олиш учун уни ё эсклаш, ёки биринчи ўриндан олиб ташлаш керак.

Мисол

Кейинги мисолда қидириш намунаси шундай: биринчи символ - 'd' дан бошқа ҳамма символ, сўнгра иккита 'x' ҳарфи.

php<?php
  $str = 'axx bxx ^xx dxx';
  $res = preg_replace('#[^d]xx#', '!', $str);
?>

Натижада ўзгарувчига куйидагилар ёзилади:

php'! ! ! dxx'

Мисол

Энди эса қидириш намунаси шундай: биринчи символ - 'd' ёки '^', сўнгра иккита 'x' ҳарфи:

php<?php
  $str = 'axx bxx ^xx dxx';
  $res = preg_replace('#[d^]xx#', '!', $str);
?>

Натижада ўзгарувчига куйидагилар ёзилади:

php'axx bxx ! !'

Мисол

Шляпкани биринчи ўриндан олиб ташламасдан, уни орқаги чизиқ ёрдамида эсклаш мумкин, ва ўзини ифодалай бошлайди:

php<?php
  $str = 'axx bxx ^xx dxx';
  $res = preg_replace('#[\^d]xx#', '!', $str);
?>

Натижада ўзгарувчига куйидагилар ёзилади:

php'axx bxx ! !'

Амалий машқлар

Задание 1

Берилган сатр:

php<?php
  $str = '^xx axx ^zz bkk @ss';
?>

Шу намуна бўйича сатрларни топадиган регуляр ифодани ёзинг: шляпка ёки собака, сўнгра иккита лотин ҳарфи.

Задание 2

Берилган сатр:

php<?php
  $str = '^xx axx ^zz bkk @ss';
?>

Шу намуна бўйича сатрларни топадиган регуляр ифодани ёзинг: шляпка эмас ва собака эмас, сўнгра иккита лотин ҳарфи.

Задание 3

Берилган сатр:

php<?php
  $str = '^xx axx ^zz bkk';
?>

Шу намуна бўйича сатрларни топадиган регуляр ифодани ёзинг: шляпка эмас, сўнгра иккита лотин ҳарфи.