Introdução a Expressões Regulares em PHP
Expressões regulares são comandos para buscas e substituições complexas. Elas permitem fazer coisas muito interessantes, mas, infelizmente, são bastante difíceis de aprender.
Existem várias funções PHP para trabalhar
com expressões regulares. Vamos começar a nos familiarizar
com elas usando o exemplo da preg_replace. Esta
função aceita como primeiro parâmetro o que substituir,
e como segundo - por que substituir, e como terceiro parâmetro
- a string na qual a substituição deve ser feita:
<?php
preg_replace(o que substituir, por que, string);
?>
Neste caso, o primeiro parâmetro da nossa função aceita
não apenas uma string, mas uma expressão regular,
que é uma string com um conjunto de comandos,
localizados dentro dos caracteres cerquilha #.
Essas cerquilhas são chamadas de delimitadores
das expressões regulares.
Após os delimitadores, você pode escrever modificadores - comandos que alteram as propriedades gerais da expressão regular.
As próprias expressões regulares consistem em dois tipos de caracteres: aqueles que representam a si mesmos e os caracteres de comando, que são chamados de caracteres especiais.
Letras e números representam a si mesmos. No próximo
exemplo, usaremos uma expressão regular
para substituir a letra 'a' por '!':
<?php
preg_replace('#a#', '!', 'bab'); // retornará 'b!b'
?>
Já o ponto é um caractere especial
e representa qualquer caractere. No próximo
exemplo, encontraremos uma string com este padrão:
letra 'x', depois qualquer caractere, depois
a letra 'x' novamente:
<?php
preg_replace('#x.x#', '!', 'xax eee'); // retornará '! eee'
?>
Dada a string:
<?php
$str = 'ahb acb aeb aeeb adcb axeb';
?>
Escreva uma expressão regular que encontrará as strings
'ahb', 'acb', 'aeb'
seguindo o padrão: letra 'a', qualquer caractere,
letra 'b'.
Dada a string:
<?php
$str = 'ahb acb aeb aeeb adcb axeb';
?>
Escreva uma expressão regular que encontrará as strings
'aeeb', 'adcb', 'axeb'
seguindo o padrão: letra 'a', dois caracteres
quaisquer, letra 'b'.