PHPдегин регулярдук туюнтмолоруна киришүү
Регулярдук туюнтмолор - бул татаал издөө жана алмаштыруу үчүн командалар. Алар абдан кызыктуу иштерди жасашқа мүмкүнчүлүк берет, бирок, тилекке каршы, үйрөнүүдө бир топ оор.
Регулярдук туюнтмолор менен иштөө үчүн PHPде бир нече функциялар бар.
Биз алар менен таанышууну preg_replace функциясынын мисалында баштайбыз.
Бул
функция биринчи параметри катары эмнени алмаштыруу керектигин, экинчиси - эмне менен алмаштыруу керектигин,
үчүнчү параметри катары эсе алмаштыруу керек болгон сапты кабыл алат:
<?php
preg_replace(эмнени алмаштыруу, эмне менен, сап);
?>
Бул учурда биздин функция биринчи параметр катары жөнөкөй сапты эмес,
регулярдук туюнтмо, # белгилеринин ичинде жайгашкан командалар
тобунан турган сапты кабыл алат.
Бул решеткалар регулярдук туюнтмолордун чектегичтери деп аталат.
Чектегичтерден кийин модификаторлор жазууга болот - регулярдук туюнтмонун жалпы касиеттерин өзгөртө турган командалар.
Регулярдук туюнтмолордун өзү эки символдон турат: өздөрүн өздөрү белгилеген символдор жана атайын символдор деп аталган команда-символдор.
Тамгалар жана сандар өздөрүн өздөрү белгилейт.
Төмөнкү мисалда биз регулярдук туюнтмо жардамы менен
'a' тамгасын '!' менен алмаштырабыз:
<?php
preg_replace('#a#', '!', 'bab'); // 'b!b' кайтарат
?>
Ал эми чекит атайын символ болуп саналат жана каалаган символду билдирет.
Төмөнкү мисалда биз мындай үлгү боюнча сапты табабыз:
'x' тамгасы, андан кийин каалаган символ, андан кийин
дагы бир жолу 'x' тамгасы:
<?php
preg_replace('#x.x#', '!', 'xax eee'); // '! eee' кайтарат
?>
Сап берилди:
<?php
$str = 'ahb acb aeb aeeb adcb axeb';
?>
Төмөнкү үлгү боюнча 'ahb', 'acb',
'aeb' саптарын таба турган регулярдук туюнтмо жазыңыз:
'a' тамгасы, каалаган символ,
'b' тамгасы.
Сап берилди:
<?php
$str = 'ahb acb aeb aeeb adcb axeb';
?>
Төмөнкү үлгү боюнча 'aeeb', 'adcb',
'axeb' саптарын таба турган регулярдук туюнтмо жазыңыз:
'a' тамгасы, каалаган эки
символ, 'b' тамгасы.