Wprowadzenie do wyrażeń regularnych w PHP

Wyrażenia regularne to takie polecenia do skomplikowanego wyszukiwania i zamiany. Pozwalają one robić bardzo ciekawe rzeczy, ale niestety, są dość trudne do opanowania.

Istnieje kilka funkcji PHP do pracy z wyrażeniami regularnymi. Zaczniemy się z nimi zapoznawać na przykładzie preg_replace. Ta funkcja przyjmuje jako pierwszy parametr co zamienić, a jako drugi - na co zamienić, a jako trzeci parametr - ciąg znaków, w którym należy dokonać zamiany:

php<?php
  preg_replace(co zamienić, na co, ciąg);
?>

Przy czym pierwszym parametrem nasza funkcja przyjmuje nie zwykły ciąg znaków, a wyrażenie regularne, przedstawiające sobą ciąg znaków z zestawem poleceń, umieszczonych wewnątrz znaków kratki #. Te kratki nazywane są ogranicznikami wyrażeń regularnych.

Po ogranicznikach można pisać modyfikatory - polecenia, które zmieniają ogólne właściwości wyrażenia regularnego.

Same wyrażenia regularne składają się z dwóch rodzajów znaków: z tych, które oznaczają same siebie oraz ze znaków-poleceń, które nazywane są znakami specjalnymi.

Litery i cyfry oznaczają same siebie. W następnym przykładzie za pomocą wyrażenia regularnego zamienimy literę 'a' na '!':

php<?php
  preg_replace('#a#', '!', 'bab'); // zwróci 'b!b'
?>

A oto kropka jest znakiem specjalnym i oznacza dowolny znak. W następnym przykładzie znajdziemy ciąg znaków według takiego wzorca: litera 'x', następnie dowolny znak, następnie znowu litera 'x':

php<?php
  preg_replace('#x.x#', '!', 'xax eee'); // zwróci '! eee'
?>
Задание 1

Dany jest ciąg znaków:

php<?php
  $str = 'ahb acb aeb aeeb adcb axeb';
?>

Napisz wyrażenie regularne, które znajdzie ciągi znaków 'ahb', 'acb', 'aeb' według wzorca: litera 'a', dowolny znak, litera 'b'.

Задание 2

Dany jest ciąg znaków:

php<?php
  $str = 'ahb acb aeb aeeb adcb axeb';
?>

Napisz wyrażenie regularne, które znajdzie ciągi znaków 'aeeb', 'adcb', 'axeb' według wzorca: litera 'a', dwa dowolne znaki, litera 'b'.