Исклучувања внатре во множењата во регуларни изрази во регуларни изрази во PHP

Веќе знаете дека специјалните знаци внатре во [] станат обични знаци. Сепак, постојат исклутоци: ако ви требаат квадратните загради како знаци, тогаш тие треба да се ескапираат со обратна коса црта.

На пример, во следниот код шаблонот за пребарување изгледа вака: помеѓу iks-ите стои квадратна заграда:

php<?php
  $str = 'x]x xax x[x x1x';
  $res = preg_replace('#x[\[\]]x#', '!', $str);
?>

Како резултат во променливата ќе се запише следново:

php'! xax ! x1x'
Задание 1

Дадена е низата:

php<?php
  $str = 'x[]z x{}z x.z x()z';
?>

Напишете регуларен израз што ќе ги најде сите зборови според шаблонот: буква 'x', потоа било кое количество на било какви загради, потоа буква 'z'.

Задание 2

Дадена е низата:

php<?php
  $str = '[abc] {abc} abc (abc) [abc]';
?>

Напишете регуларен израз што ќе ги најде низите во било какви загради и ќе ги замени со '!'.