A função preg_match() é uma função integrada do PHP que realiza uma correspondência de expressões regulares. Esta função pesquisa o padrão na string e retorna verdadeiro se o padrão existir, caso contrário, retorna falso.
Geralmente, a pesquisa começa no início do parâmetro $subject string. O parâmetro opcional $offset é usado para iniciar a pesquisa a partir da posição especificada.
Sintaxe
int preg_match (string $pattern, string $subject, array $matches, int $flags, int $offset)
Nota: $offset é um parâmetro opcional que especifica a posição de onde iniciar a pesquisa.
Parâmetros
Esta função aceita cinco parâmetros, que são descritos abaixo:
padrão
É um parâmetro do tipo string. Este parâmetro contém o padrão de pesquisa como uma string.
assunto
Este parâmetro contém a string de entrada na qual procuramos o padrão.
partidas
Se o parâmetro matches for fornecido, ele conterá os resultados da pesquisa.
correspondências[0] - Ele conterá o texto que corresponde ao padrão completo.
partidas[1] - Ele conterá o texto que corresponde ao primeiro subpadrão entre parênteses capturado e assim por diante.
bandeiras
mapa de árvore
Os sinalizadores podem ter os seguintes sinalizadores fornecidos abaixo:
desvio
Por padrão, a pesquisa começa no início do parâmetro $subject. O parâmetro offset é usado para especificar o local onde a pesquisa será iniciada. É um parâmetro opcional.
Tipo de retorno
A função preg_match() retorna verdadeiro se o padrão corresponder, caso contrário, retorna falso.
Nota: Se você deseja apenas verificar se uma string está contida em outra string, não use a função preg_match(). Use a função strpos() pois será mais rápida.
Exemplos
<?php //initialize a variable of string type $site = 'javatpoint'; preg_match('/(java)(t)(point)/', $site, $matches, PREG_OFFSET_CAPTURE); //display the matches result print_r($matches); ?>
Saída:
Array ( [0] => Array ( [0] => javatpoint [1] => 0 ) [1] => Array ( [0] => java [1] => 0 ) [2] => Array ( [0] => t [1] => 4 ) [3] => Array ( [0] => point [1] => 5 ) )
Podemos ver a saída acima conforme fornecida abaixo para entendê-la melhor.
Array ( [0] => Array ( [0] => javatpoint [1] => 0 ) [1] => Array ( [0] => java [1] => 0 ) [2] => Array ( [0] => t [1] => 4 ) [3] => Array ( [0] => point [1] => 5 ) )
Exemplos: pesquisa sem distinção entre maiúsculas e minúsculas
<?php //initialize a variable of string type $website = 'JTP is a best online platform to learn.'; //case insensitive search for word jtp //The 'i' after pattern delimiter indicates case-insensitive search $res = preg_match('/jtp/i', $website, $matches); if ($res) { echo 'Pattern matched in string.</br>'; print_r($matches); } else { echo 'Pattern not matched in string.'; } ?>
Saída:
Pattern matched in string. Array ( [0] => JTP )
Exemplos: usando limite de palavra ()
nomenclatura de convenções java
<?php /* The indicates the word boundary in the pattern. So, it matches only the distinct word like 'web', and words like 'coreweb' or ' webinar' do not match partially.*/ if (preg_match('/web/i', 'PHP is a web scripting language.')) { echo 'A match was found. </br>'; } else { echo 'A match was not found. <br>'; } if (preg_match('/web/i', 'PHP is a website scripting language.')) { echo 'A match was found.'; } else { echo 'A match was not found.'; } ?>
Saída:
A match was found. A match was not found.
Exemplos: obtenha o nome de domínio do URL
Saída:
Domain name is: javatpoint.com
Sintaxe Regex (expressão regular)
[abc] | Corresponde a um único caractere - a, b ou c |
[^abc] | Corresponde a qualquer caractere único, exceto a, b ou c |
[a-z] | Corresponde a qualquer caractere único dentro do intervalo a-z |
[a-zA-Z] | Qualquer caractere único dentro do intervalo a-z ou A-Z |
^ | Início da linha |
$ | Fim da linha |
A | Início da sequência |
Com | Fim da corda |
. | Qualquer caractere único |
s | Qualquer caractere de espaço em branco |
S | Qualquer caractere que não seja espaço em branco |
d | Qualquer dígito |
D | Qualquer não-dígito |
Em | Qualquer caractere de palavra (letra, número, sublinhado) |
EM | Qualquer caractere que não seja uma palavra |
Verificador de limites de palavras | |
/?/ | Inicia e termina a expressão regular |
(?) | Capture tudo entre parênteses () |
(uma|b) | a ou B |
a? | Zero ou um de um |
a* | Zero ou mais de um |
um+ | Um ou mais de um |
um{3} | Exatamente 3 de um |
uma{3,} | 3 ou mais de um |
um{3,6} | Entre 3 e 6 de uma |
eu | Verificação sem distinção entre maiúsculas e minúsculas |
eu | Faça com que os pontos correspondam às novas linhas |
x | Ignorar espaços em branco em regex |