PHPдегин регулярдук туюнтмолоруна киришүү

Регулярдук туюнтмолор - бул татаал издөө жана алмаштыруу үчүн командалар. Алар абдан кызыктуу иштерди жасашқа мүмкүнчүлүк берет, бирок, тилекке каршы, үйрөнүүдө бир топ оор.

Регулярдук туюнтмолор менен иштөө үчүн PHPде бир нече функциялар бар. Биз алар менен таанышууну preg_replace функциясынын мисалында баштайбыз. Бул функция биринчи параметри катары эмнени алмаштыруу керектигин, экинчиси - эмне менен алмаштыруу керектигин, үчүнчү параметри катары эсе алмаштыруу керек болгон сапты кабыл алат:

php<?php
  preg_replace(эмнени алмаштыруу, эмне менен, сап);
?>

Бул учурда биздин функция биринчи параметр катары жөнөкөй сапты эмес, регулярдук туюнтмо, # белгилеринин ичинде жайгашкан командалар тобунан турган сапты кабыл алат. Бул решеткалар регулярдук туюнтмолордун чектегичтери деп аталат.

Чектегичтерден кийин модификаторлор жазууга болот - регулярдук туюнтмонун жалпы касиеттерин өзгөртө турган командалар.

Регулярдук туюнтмолордун өзү эки символдон турат: өздөрүн өздөрү белгилеген символдор жана атайын символдор деп аталган команда-символдор.

Тамгалар жана сандар өздөрүн өздөрү белгилейт. Төмөнкү мисалда биз регулярдук туюнтмо жардамы менен 'a' тамгасын '!' менен алмаштырабыз:

php<?php
  preg_replace('#a#', '!', 'bab'); // 'b!b' кайтарат
?>

Ал эми чекит атайын символ болуп саналат жана каалаган символду билдирет. Төмөнкү мисалда биз мындай үлгү боюнча сапты табабыз: 'x' тамгасы, андан кийин каалаган символ, андан кийин дагы бир жолу 'x' тамгасы:

php<?php
  preg_replace('#x.x#', '!', 'xax eee'); // '! eee' кайтарат
?>
Задание 1

Сап берилди:

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

Төмөнкү үлгү боюнча 'ahb', 'acb', 'aeb' саптарын таба турган регулярдук туюнтмо жазыңыз: 'a' тамгасы, каалаган символ, 'b' тамгасы.

Задание 2

Сап берилди:

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

Төмөнкү үлгү боюнча 'aeeb', 'adcb', 'axeb' саптарын таба турган регулярдук туюнтмо жазыңыз: 'a' тамгасы, каалаган эки символ, 'b' тамгасы.