Znak stříšky uvnitř množin v regulárních výrazech PHP

Jak víte, stříška uvnitř [] vytváří negaci, když je napsána na začátku závorek. To znamená, že je uvnitř těchto závorek speciálním znakem. Chcete-li získat stříšku jako symbol, je potřeba ji buď uvést, nebo odstranit z prvního místa.

Příklad

V následujícím příkladu je vzor hledání následující: první znak je vše kromě 'd', poté dvě písmena 'x'.

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

Výsledek zapsaný do proměnné bude následující:

php'! ! ! dxx'

Příklad

A nyní je vzor hledání následující: první znak - je to 'd' nebo '^', poté dvě písmena 'x':

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

Výsledek zapsaný do proměnné bude následující:

php'axx bxx ! !'

Příklad

Není nutné odstranit stříšku z prvního místa, stačí ji uvést pomocí zpětného lomítka a bude představovat samu sebe:

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

Výsledek zapsaný do proměnné bude následující:

php'axx bxx ! !'

Praktické úlohy

Задание 1

Je dán řetězec:

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

Napište regulární výraz, který najde řetězce podle vzoru: stříška nebo zavináč, a poté dvě latinská písmena.

Задание 2

Je dán řetězec:

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

Napište regulární výraz, který najde řetězce podle vzoru: NE stříška a ne zavináč, a poté dvě latinská písmena.

Задание 3

Je dán řetězec:

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

Napište regulární výraz, který najde řetězce podle vzoru: NE stříška, a poté dvě latinská písmena.