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' әрпі.