Início e fim de linha em expressões regulares do PHP
Existem símbolos especiais que denotam
o início ^ ou o fim da linha $.
Vamos ver seu funcionamento com exemplos.
Exemplo
Neste exemplo, o padrão de pesquisa é o seguinte: substituir
'aaa' por '!' somente se estiver
no início da linha:
<?php
$str = 'aaa aaa aaa';
$res = preg_replace('#^aaa#', '!', $str);
?>
Como resultado, o seguinte será armazenado na variável:
'! aaa aaa'
Exemplo
Neste exemplo, o padrão de pesquisa é o seguinte: substituir
'aaa' por '!' somente se estiver
no final da linha:
<?php
$str = 'aaa aaa aaa';
$res = preg_replace('#aaa$#', '!', $str);
?>
Como resultado, o seguinte será armazenado na variável:
'aaa aaa !'
Exemplo
Quando uma expressão regular começa com ^
e termina com $, estamos assim
verificando se a string inteira corresponde à
expressão regular.
No próximo exemplo, o padrão de pesquisa é o seguinte:
a letra 'a' repetida uma ou
mais vezes, substituir a string inteira por '!'
somente se ela consistir apenas da letra 'a'.
<?php
$str = 'aaa';
$res = preg_replace('#^a+$#', '!', $str);
?>
Como resultado, o seguinte será armazenado na variável:
'!'
Problemas práticos
Dada a string:
<?php
$str = 'abc def xyz';
?>
Escreva uma expressão regular que encontre a primeira substring composta por letras.
Dada a string:
<?php
$str = 'abc def xyz';
?>
Escreva uma expressão regular que encontre a última substring composta por letras.
Dada a string:
<?php
$str = '$aaa$ $bbb$ $ccc
;
?>
Escreva uma expressão regular que encontre a última substring composta por letras, cercada por símbolos de cifrão.