Funciones de Expresiones Regulares (POSIX Extendido)

CXVI. Funciones de Expresiones Regulares (POSIX Extendido)

Introducci贸n

Sugerencia: PHP ofrece tambi茅n soporte de expresiones regulares usando una sintaxis compatible con Perl usando las Funciones PCRE. Tales funciones soportan coincidencias no-ambiciosas, aserciones, subpatrones condicionales, y un n煤mero de caracter铆sticas adicionales que no son soportadas por las sintaxis de expresiones regulares POSIX-extendido.

Aviso

Estas expresiones regulares no son seguras con material binario. Las Funciones PCRE lo son.

Las expresiones regulares son usadas para la manipulaci贸n compleja de cadenas. PHP usa expresiones regulares POSIX extendidas, tal y como se definen por POSIX 1003.2. Para una descripci贸n completa de las expresiones regulares POSIX, vea las p谩ginas de manual de regex incluidas en el directorio regex en la distribuci贸n de PHP. Se encuentran en formato manpage, as铆 que querr谩 hacer algo del estilo de man /usr/local/src/regex/regex.7 para leerlas.

Requisitos

No se necesitan bibliotecas externas para construir esta extensi贸n

Instalaci贸n

Aviso

No modifique el TIPO a menos que sepa lo que est谩 haciendo.

Para habilitar el soporte para expresiones regulares, configure PHP con la opci贸n --with-regex[=TIPO]. TIPO puede ser un valor entre system, apache, php. La acci贸n predeterminada es usar php.

La versi贸n para Windows de PHP tiene soporte nativo para esta extensi贸n. No se necesita cargar ninguna extensi贸n adicional para usar estas funciones.

Configuraci贸n en tiempo de ejecuci贸n

Esta extensi贸n no tiene directivas de configuraci贸n en php.ini.

Tipos de recursos

Esta extensi贸n no tiene ning煤n tipo de recurso definido.

Constantes predefinidas

Esta extensi贸n no tiene ninguna constante definida.

Ejemplos

Ejemplo 1. Ejemplos de Expresiones Regulares

<?php
// Devuelve true si "abc" se encuentra en cualquier lugar de $cadena.
ereg("abc", $cadena);            

// Devuelve true si "abc" es encontrado al comienzo de $cadena
ereg("^abc", $cadena);

// Devuelve true si "abc" es encontrado al final de $cadena.
ereg("abc$", $cadena);

// Devuelve true si el navegador del cliente es Netscape 2, 3 or MSIE 3.
eregi("(ozilla.[23]|MSIE.3)", $HTTP_USER_AGENT);  

// Coloca tres palabras separadas por espacios en $regs[1], $regs[2] y $regs[3].
ereg("([[:alnum:]]+) ([[:alnum:]]+) ([[:alnum:]]+)", $cadena, $regs);

// Coloca una etiqueta <br /> al comienzo de $cadena.
$cadena = ereg_replace("^", "<br />", $cadena);

// Coloca una etiqueta <br /> al final de $cadena.
$cadena = ereg_replace("$", "<br />", $cadena);

// Se deshace de cualquier caracter de salto de linea en $cadena.
$cadena = ereg_replace("\n", "", $cadena);
?>

Ver tambi茅n

Para consultar sobre expresiones regulares en una sintaxis compatible con Perl, eche un vistazo a las Funciones PCRE. Las coincidencias m谩s simples de comodines tipo int茅rprete de comandos son ofrecidas por fnmatch().

Tabla de contenidos
ereg_replace -- reemplaza expresiones regulares
ereg -- Coincidencia de expresiones regulares
eregi_replace -- reemplaza expresiones regularse sin diferenciar may煤sculas y min煤sculas
eregi -- coincidencia de expresiones regulares sin diferenciar may煤sculas y min煤sculas
split -- divide la cadena en elementos de un array seg煤n una expresi贸n regular
spliti --  Separar una cadena en una matriz mediante una expresi贸n regular, no sensible a may煤sculas ni min煤sculas
sql_regcase -- construye una expresi贸n regular para buscar coincidencias sin diferenciar may煤sculas y min煤sculas