Въведение в регулярните изрази в 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'.