Funções de Expressão Regular do PHP
Introdução à Expressão Regular do PHP
As expressões regulares permitem pesquisar e substituir padrões em strings.
Instalação
As funções de expressão regular do PHP fazem parte do núcleo do PHP. Nenhuma instalação é necessária para usar essas funções.
Configuração de tempo de execução
Essas configurações no php.ini podem ser usadas para limitar a quantidade de tempo ou recursos usados ao avaliar expressões regulares.
Name | Default | Description | Changeable |
---|---|---|---|
pcre.backtrack_limit | "1000000" | The maximum number of backtracks that the regular expression engine is allowed to do while evaluating an expression. (available since PHP 5.2) | PHP_INI_ALL |
pcre.recursion_limit | "100000" | The maximum recursion depth that the regular expression engine is permitted to reach while evaluating an expression. (available since PHP 5.2) | PHP_INI_ALL |
pcre.jit | "1" | When set to "1" this enables PCRE's (Perl-Compatible Regular Expressions) just-in-time compilation. (available since PHP 7.0) | PHP_INI_ALL |
Funções de Expressão Regular do PHP
Function | Description |
---|---|
preg_filter() | Returns a string or an array with pattern matches replaced, but only if matches were found |
preg_grep() | Returns an array consisting only of elements from the input array which matched the pattern |
preg_last_error() | Returns an error code indicating the reason that the most recent regular expression call failed |
preg_match() | Finds the first match of a pattern in a string |
preg_match_all() | Finds all matches of a pattern in a string |
preg_replace() | Returns a string where matches of a pattern (or an array of patterns) are replaced with a substring (or an array of substrings) in a given string |
preg_replace_callback() | Given an expression and a callback, returns a string where all matches of the expression are replaced with the substring returned by the callback |
preg_replace_callback_array() | Given an array associating expressions with callbacks, returns a string where all matches of each expression are replaced with the substring returned by the callback |
preg_split() | Breaks a string into an array using matches of a regular expression as separators |
preg_quote() | Escapes characters that have a special meaning in regular expressions by putting a backslash in front of them |
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 = '/\?+/';