Expressão / Regex regular do PHP: preg_match () - preg_replace ()

Índice:

Anonim

O que é expressão regular em PHP?

Expressões regulares de PHP, também conhecidas como regex, são poderosos algoritmos de correspondência de padrões que podem ser executados em uma única expressão. As expressões regulares usam operadores aritméticos como (+, -, ^) para criar expressões complexas. Eles podem ajudá-lo a realizar tarefas como validação de endereços de e-mail, endereço IP etc.

Por que usar expressões regulares

  • As expressões regulares do PHP simplificam a identificação de padrões em dados de string chamando uma única função. Isso nos economiza tempo de codificação.
  • Ao validar a entrada do usuário, como endereço de e-mail, nomes de domínio, números de telefone, endereços IP,
  • Destacando palavras-chave nos resultados da pesquisa
  • Ao criar um modelo HTML personalizado. Regex em PHP pode ser usado para identificar as tags de template e substituí-las por dados reais.

Neste tutorial PHP Regex, você aprenderá:

  • Funções integradas de expressão regular em PHP
  • PHP Preg_match ()
  • PHP Preg_split ()
  • PHP Preg_replace ()
  • Metacaracteres de expressão regular
  • Explicando o padrão

Funções integradas de expressão regular em PHP

O PHP tem funções embutidas que nos permitem trabalhar com funções regulares que aprenderemos neste tutorial de Expressões Regulares do PHP. Vejamos as funções de expressão regular comumente usadas em PHP.

  • preg_match () em PHP - esta função é usada para realizar correspondência de padrões em PHP em uma string. Ele retorna verdadeiro se uma correspondência for encontrada e falso se uma correspondência não for encontrada.
  • preg_split () em PHP - esta função é usada para realizar uma correspondência de padrões em uma string e então dividir os resultados em uma matriz numérica
  • preg_replace () em PHP - esta função é usada para realizar uma correspondência de padrão em uma string e então substituir a correspondência com o texto especificado.

Abaixo está a sintaxe para uma função de expressão regular como PHP preg_match (), PHP preg_split () ou PHP preg_replace ().

AQUI,

  • "function_name (…)" é PHP preg_match (), PHP preg_split () ou PHP preg_replace ().
  • "/… /" As barras denotam o início e o fim de nossa função de testador de regex de PHP
  • "'/ pattern /'" é o padrão que precisamos combinar
  • "assunto" é a string de texto a ser comparada

Vejamos agora exemplos práticos que implementam as funções regex do PHP acima.

PHP Preg_match ()

O primeiro exemplo usa preg_match () na função PHP para realizar uma correspondência de padrão simples para a palavra guru em uma determinada URL.

O código abaixo mostra a implementação da função de testador preg_match () para o exemplo acima.

Navegue até o URL http: //localhost/phptuts/preg_match_simple.php

Vamos examinar a parte do código responsável por nossa saída "preg_match ('/ guru /', $ my_url)" AQUI,

  • "preg_match (…)" é a função PHP regex
  • "'/ guru /'" é o padrão de expressão regular a ser correspondido
  • "$ my_url" é a variável que contém o texto a ser comparado.

O diagrama abaixo resume os pontos acima

PHP Preg_split ()

Vejamos agora outro exemplo que usa preg_split () na função PHP.

Vamos pegar uma frase de string e explodi-la em um array; o padrão a ser correspondido é um único espaço.

A sequência de texto a ser usada neste exemplo é "I Love Regular Expressions".

O código abaixo ilustra a implementação do exemplo acima.

Navegue até o URL http: //localhost/phptuts/preg_split.php

PHP Preg_replace ()

Vamos agora olhar para preg_replace () na função PHP que executa uma correspondência de padrão e então substitui o padrão por outra coisa.

O código abaixo procura a palavra guru em uma string.

Ele substitui a palavra guru pela palavra guru cercada pelo código css que destaca a cor de fundo.

Supondo que você salvou o arquivo preg_replace.php, navegue para a URL http: //localhost/phptuts/preg_replace.php

Metacaracteres de expressão regular

Os exemplos acima usaram padrões muito básicos; os metacaracteres simplesmente nos permitem realizar correspondências de padrões mais complexas, como testar a validade de um endereço de e-mail. Vejamos agora os metacaracteres comumente usados.

Metacaractere Descrição Exemplo
. Corresponde a qualquer caractere, exceto uma nova linha /./ corresponde a qualquer coisa que tenha um único caractere
^ Corresponde ao início de ou string / exclui caracteres / PH / corresponde a qualquer string que comece com PH
$ Corresponde ao padrão no final da string / com $ / corresponde a guru99.com, yahoo.com etc.
* Corresponde a qualquer zero (0) ou mais caracteres / com * / corresponde a computador, comunicação etc.
+ Requer que os caracteres anteriores apareçam pelo menos uma vez / yah + oo / corresponde a yahoo
\ Usado para escapar metacaracteres /yahoo+\.com/ trata o ponto como um valor literal
[…] Classe de personagem / [abc] / corresponde a abc
az Corresponde a letras minúsculas / az / corresponde a legal, feliz etc.
AZ Corresponde a letras maiúsculas / AZ / corresponde ao QUÊ, COMO, POR QUÊ, etc.
0-9 Corresponde a qualquer número entre 0 e 9 / 0-4 / corresponde a 0,1,2,3,4

A lista acima fornece apenas os metacaracteres mais comumente usados ​​em expressões regulares.

Vejamos agora um exemplo bastante complexo que verifica a validade de um endereço de e-mail.

Explicando o padrão "[/^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z.]{2,5}$/] "

AQUI,

  • "'/… /'" Inicia e termina a expressão regular
  • "[a-zA-Z0-9 ._-]" corresponde a quaisquer letras maiúsculas ou minúsculas, números entre 0 e 9 e pontos, sublinhados ou travessões.
  • "+ @ [a-zA-Z0-9-]" corresponde ao símbolo @ seguido por letras maiúsculas ou minúsculas, números entre 0 e 9 ou travessões.
  • "+ \. [a-zA-Z.] {2,5} $ /" escapa do ponto usando a barra invertida e, em seguida, corresponde a quaisquer letras maiúsculas ou minúsculas com um comprimento de caractere entre 2 e 5 no final da string.

Navegue até o URL http: //localhost/phptuts/preg_match.php

Como você pode ver na análise do exemplo acima, os metacaracteres são muito poderosos quando se trata de padrões de correspondência.

Resumo

  • Uma expressão regular ou Regex em PHP é um algoritmo de correspondência de padrão
  • As expressões regulares são muito úteis ao realizar verificações de validação, criar sistemas de template HTML que reconhecem tags, etc.
  • PHP tem funções embutidas, nomeadamente PHP preg_match (), PHP preg_split () e PHP preg_replace () que suportam expressões regulares.
  • Metacaracteres nos permitem criar padrões complexos