Caractere speciale în interiorul parantezelor pătrate în PHP

Caracterele speciale în interiorul [] devin caractere obisnuite. Aceasta înseamnă că nu este nevoie să le escapați cu backslash.

Exemplu

În acest exemplu, modelul de căutare arată astfel: între 'x' orice literă 'a', 'b', 'c', sau punct:

php<?php
  $str = 'xax xbx xcx xdx x.x x@x';
  $res = preg_replace('#x[abc.]x#', '!', $str);
?>

Ca rezultat, în variabilă se va scrie următoarele:

php'! ! ! xdx ! x@x'

Exemplu

În acest exemplu, modelul de căutare arată astfel: între 'x' orice literă mică latină sau punct:

php<?php
  $str = 'xax xbx xcx x@x';
  $res = preg_replace('#x[a-z.]x#', '!', $str);
?>

Ca rezultat, în variabilă se va scrie următoarele:

php'! ! ! x@x'

Sarcini practice

Задание 1

Este dat șirul:

php<?php
  $str = 'aba aea aca aza axa a.a a+a a*a';
?>

Scrieți o expresie regulată care va găsi șirurile 'a.a', 'a+a', 'a*a', fără a afecta pe celelalte.

Задание 2

Este dat șirul:

php<?php
  $str = 'xaz x.z x3z x@z x$z xrz';
?>

Scrieți o expresie regulată care va găsi șirurile după modelul: litera 'x', apoi NU punct, NU @, și NU dolar, apoi litera 'z'.