Erikoismerkit hakasulkeissa PHP:ssä

Erikoismerkit []-sisällä muuttuvat tavallisiksi merkeiksi. Tämä tarkoittaa, että niitä ei tarvitse escapeta kenoviivalla.

Esimerkki

Tässä esimerkissä hakumalli on seuraava: x-kirjainten välissä mikä tahansa kirjain 'a', 'b', 'c', tai piste:

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

Tuloksena muuttujaan kirjoitetaan seuraava:

php'! ! ! xdx ! x@x'

Esimerkki

Tässä esimerkissä hakumalli on seuraava: x-kirjainten välissä mikä tahansa pieni latinalainen kirjain tai piste:

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

Tuloksena muuttujaan kirjoitetaan seuraava:

php'! ! ! x@x'

Käytännön tehtävät

Задание 1

Annettu merkkijono:

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

Kirjoita säännöllinen lauseke, joka löytää merkkijonot 'a.a', 'a+a', 'a*a', koskematta muihin.

Задание 2

Annettu merkkijono:

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

Kirjoita säännöllinen lauseke, joka löytää merkkijonot mallin mukaan: kirjain 'x', sitten EI piste, EI ät-merkki, ja EI dollarin merkki, vaan sitten kirjain 'z'.