Tutorial PHP

PHP INÍCIO Introdução ao PHP Instalação do PHP Sintaxe PHP Comentários PHP Variáveis ​​PHP PHP Eco/Impressão Tipos de dados PHP Strings PHP Números PHP Matemática PHP Constantes PHP Operadores PHP PHP If...Else...Elseif Chave PHP Loops PHP Funções PHP Matrizes PHP PHP Superglobais PHP RegEx

Formulários PHP

Manipulação de formulários PHP Validação de formulário PHP Formulário PHP obrigatório URL/e-mail do formulário PHP Formulário PHP completo

PHP Avançado

Data e hora do PHP Incluir PHP Manipulação de arquivos PHP Arquivo PHP Abrir/Ler Arquivo PHP Criar/Gravar Upload de arquivo PHP Cookies PHP Sessões PHP Filtros PHP Filtros PHP Avançados Funções de retorno de chamada do PHP PHP JSON Exceções do PHP

PHP OOP

PHP O que é POO Classes/objetos PHP Construtor PHP Destruidor PHP Modificadores de acesso PHP Herança PHP Constantes PHP Classes abstratas PHP Interfaces PHP Características PHP Métodos estáticos PHP Propriedades estáticas do PHP Namespaces PHP Iteráveis ​​PHP

Banco de dados MySQL

Banco de dados MySQL MySQL Connect MySQL Criar banco de dados MySQL Criar Tabela Dados de inserção do MySQL MySQL Obter Último ID MySQL Inserir Múltiplo Preparado para MySQL Dados de seleção do MySQL MySQL Onde MySQL Ordenar por Dados de exclusão do MySQL Dados de atualização do MySQL Dados de limite do MySQL

PHP XML

Analisadores XML PHP Analisador PHP SimpleXML PHP SimpleXML - Obter PHP XML Expatriado PHP XML DOM

PHP - AJAX

Introdução AJAX PHP AJAX Banco de dados AJAX XML AJAX Pesquisa em tempo real AJAX Enquete AJAX

Exemplos PHP

Exemplos PHP Compilador PHP Teste PHP Exercícios PHP Certificado PHP

Referência PHP

Visão geral do PHP Matriz PHP Calendário PHP Data do PHP Diretório PHP Erro PHP Exceção PHP Sistema de arquivos PHP Filtro PHP PHP FTP PHP JSON Palavras-chave PHP PHP Libxml Correio PHP Matemática PHP PHP Diversos PHP MySQLi Rede PHP Controle de saída PHP PHP RegEx PHP SimpleXML Fluxo PHP String PHP Manipulação de variáveis ​​PHP Analisador XML PHP PHP Zip Fusos horários PHP

Expressões Regulares PHP


O que é uma Expressão Regular?

Uma expressão regular é uma sequência de caracteres que forma um padrão de pesquisa. Ao pesquisar dados em um texto, você pode usar esse padrão de pesquisa para descrever o que está procurando.

Uma expressão regular pode ser um único caractere ou um padrão mais complicado.

As expressões regulares podem ser usadas para realizar todos os tipos de pesquisa de texto e operações de substituição de texto.


Sintaxe

Em PHP, expressões regulares são strings compostas por delimitadores, um padrão e modificadores opcionais.

$exp = "/w3schools/i";

No exemplo acima, /é o delimitador , w3schools é o padrão que está sendo pesquisado e ié um modificador que faz a pesquisa não diferenciar maiúsculas de minúsculas.

O delimitador pode ser qualquer caractere que não seja uma letra, número, barra invertida ou espaço. O delimitador mais comum é a barra (/), mas quando seu padrão contém barras, é conveniente escolher outros delimitadores como # ou ~.


Funções de expressão regular

O PHP fornece uma variedade de funções que permitem o uso de expressões regulares. As funções preg_match(), preg_match_all()e preg_replace()são algumas das mais usadas:

Function Description
preg_match() Returns 1 if the pattern was found in the string and 0 if not
preg_match_all() Returns the number of times the pattern was found in the string, which may also be 0
preg_replace() Returns a new string where matched patterns have been replaced with another string

Usando preg_match()

A preg_match()função informará se uma string contém correspondências de um padrão.

Exemplo

Use uma expressão regular para fazer uma pesquisa sem distinção entre maiúsculas e minúsculas por "w3schools" em uma string:

<?php
$str = "Visit W3Schools";
$pattern = "/w3schools/i";
echo preg_match($pattern, $str); // Outputs 1
?>

Usando preg_match_all()

A preg_match_all()função lhe dirá quantas correspondências foram encontradas para um padrão em uma string.

Exemplo

Use uma expressão regular para fazer uma contagem sem distinção entre maiúsculas e minúsculas do número de ocorrências de "ain" em uma string:

<?php
$str = "The rain in SPAIN falls mainly on the plains.";
$pattern = "/ain/i";
echo preg_match_all($pattern, $str); // Outputs 4
?>

Usando preg_replace()

A preg_replace()função substituirá todas as correspondências do padrão em uma string por outra string.

Exemplo

Use uma expressão regular que não diferencia maiúsculas de minúsculas para substituir Microsoft por W3Schools em uma string:

<?php
$str = "Visit Microsoft!";
$pattern = "/microsoft/i";
echo preg_replace($pattern, "W3Schools", $str); // Outputs "Visit W3Schools!"
?>


Modificadores de Expressão Regular

Os modificadores podem alterar a forma como uma pesquisa é realizada.

Modifier Description
i Performs a case-insensitive search
m Performs a multiline search (patterns that search for the beginning or end of a string will match the beginning or end of each line)
u Enables correct matching of UTF-8 encoded patterns

Padrões de Expressão Regular

Colchetes são usados ​​para encontrar um intervalo de caracteres:

Expression Description
[abc] Find one character from the options between the brackets
[^abc] Find any character NOT between the brackets
[0-9] Find one character from the range 0 to 9

Metacaracteres

Metacaracteres são caracteres com um significado especial:

Metacharacter Description
| Find a match for any one of the patterns separated by | as in: cat|dog|fish
. Find just one instance of any character
^ Finds a match as the beginning of a string as in: ^Hello
$ Finds a match at the end of the string as in: World$
\d Find a digit
\s Find a whitespace character
\b Find a match at the beginning of a word like this: \bWORD, or at the end of a word like this: WORD\b
\uxxxx Find the Unicode character specified by the hexadecimal number xxxx

Quantificadores

Quantificadores definem quantidades:

Quantifier Description
n+ Matches any string that contains at least one n
n* Matches any string that contains zero or more occurrences of n
n? Matches any string that contains zero or one occurrences of n
n{x} Matches any string that contains a sequence of X n's
n{x,y} Matches any string that contains a sequence of X to Y n's
n{x,} Matches any string that contains a sequence of at least X n's

Nota: Se sua expressão precisar procurar um dos caracteres especiais, você pode usar uma barra invertida ( \ ) para escapar deles. Por exemplo, para pesquisar um ou mais pontos de interrogação, você pode usar a seguinte expressão: $pattern = '/\?+/';


Agrupamento

Você pode usar parênteses ( )para aplicar quantificadores a padrões inteiros. Eles também podem ser usados ​​para selecionar partes do padrão a serem usadas como correspondência.

Exemplo

Use o agrupamento para pesquisar a palavra "banana" procurando por ba seguido por duas instâncias de na :

<?php
$str = "Apples and bananas.";
$pattern = "/ba(na){2}/i";
echo preg_match($pattern, $str); // Outputs 1
?>

Referência RegExp completa

Para obter uma referência completa, acesse nossa Referência Completa de Expressões Regulares PHP .

A referência contém descrições e exemplos de todas as funções de Expressão Regular.