CVIII. Regex : Expressões Regulares (compatíveis com o padrão POSIX)

Introdução

Dica: PHP também suporta expressões regulares compatatíveis com a sintaxe do PERL usando as Funções PCRE. Essas funções suportam non-greedy matching, assertions, conditional subpatterns, e várias outras características que não são suportadas pelas Expressões Regulares compatíveis com o padrão POSIX.

Atenção

Estas expressões regulares não são seguras para dados binários. As Funções PCRE são.

Expressões regulares são usadas para manipulações complexas de strings no PHP. As funções suportadas pelas expressões regulares são:

Em todas funções coloque a string da expressão regular no primeiro argumento. PHP usa expressões regulares compatíveis com POSIX definidas pelo POSIX 1003.2. Para um descrição completa das expressões regulares no POSIX veja as man pages sobre regex incluídas no diretório regex de sua distribuição PHP. Por estar no formato de manpages você terá que Utilizar o comando man /usr/local/src/regex/regex.7 para ler a documentação.

Dependências

Nenhuma biblioteca externa é necessária para compilar esta extensão.

Instalação

Atenção

Do not change the TYPE unless you know what you are doing.

To enable regexp support configure PHP --with-regex[=TYPE]. TYPE can be one of system, apache, php. The default is to use php.

A versão para Windows do PHP tem suporte embutido para esta extensão. Você não precisa carregar nenhuma extensão adicional para utilizar essas funções.

Configurações em execução

Esta extensão não define nenhum parâmetro de configuração no php.ini.

Tipos Resource

Esta extensão não possui nenhum tipo resource.

Constantes pré-definidas

Esta extensão não possui nenhuma constante.

Exemplos

Exemplo 1. Exemplos de Expressões Regulares

<?php
// Retorna true se "abc" existir em qualquer lugar de $string.
ereg ("abc", $string);

// Retorna true se "abc" existir no início de $string.
ereg ("^abc", $string);

// Retorna true se "abc" existir no final de $string.
ereg ("abc$", $string);

// Retorna true se o navegador do cliente  for Netscape 2, 3 ou MSIE 3.
eregi ("(ozilla.[23]|MSIE.3)", $HTTP_USER_AGENT);

// Adiciona três palavras separadas por espaço em $regs[1], $regs[2] e $regs[3].
ereg ("([[:alnum:]]+) ([[:alnum:]]+) ([[:alnum:]]+)", $string,$regs);

// Acrescenta a tag <br /> no início de $string.
$string = ereg_replace ("^", "<br />", $string);

// Acrescenta a tag <br />; no final de $string.
$string = ereg_replace ("$", "<br />", $string);

// Remove todos caracteres de nova linha (newline) em $string.
$string = ereg_replace ("\n", "", $string);
?>

Veja também

Para expressões regulares compatatíveis com o padrão PERL veja PCRE, Funções. O estilo simples de wildcard do shell pode ser usado com a função fnmatch().

Índice
ereg_replace -- Substituição através de expressões regulares
ereg -- Casando expressões regulares
eregi_replace -- Substituição utilizando expressões regulares insensíveis a maiúsculas e minúsculas
eregi -- Casando expressões regulares insensíveis a maiúsculas e minúsculas
split -- Separa strings em matrizes(array) utilizando expressões regulares
spliti --  Separa strings em matrizes(array) utilizando expressões regulares insensíveis a maiúsculas e minúsculas
sql_regcase --  Cria expressões regulares insensíveis a maiúsculas e minúsculas.