CII. Funciones de Expresiones Regulares (Compatibles con Perl)

Introducción

La sintaxis para los patrones usados en éstas funciones se asemeja considerablemente con la sintaxis de Perl. La expresión debe estar rodeada por delimitadores, una barra acostada (/), por ejemplo. Cualquier caracter puede ser usado como delimitador siempre y cuando no sea alfanumérico ni la barra invertida (\). Si el caracter delimitador tiene que ser usado en la expresión misma, necesita ser escapado por la barra invertida. A partir de PHP 4.0.4, puede usar también los delimitadores de coincidencia tipo Perl (), {}, [], y <>. Vea Sintaxis de los Patrones para una explicación detallada.

El delimitador de cierre puede estar seguido de varios modificadores que afectan las coincidencias. Vea Modificadores de Patrón.

PHP soporta también expresiones regulares usando una sintaxis POSIX-extendida, por medio de las funciones regex POSIX-extendidas.

Aviso

Es importante que conozca sobre las limitaciones de PCRE. Lea http://www.pcre.org/pcre.txt para más información.

Requirimientos

El soporte de expresiones regulares es provisto por el paquete de biblioteca PCRE, el cual es software de código abierto, escrito por Philip Hazel, y con copyright de la Universidad de Cambridge, Inglaterra. Se encuentra disponible en ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/.

Instalación

A partir de PHP 4.2.0, estas funciones están habilitadas por defecto. Puede deshabilitar las funciones pcre con --without-pcre-regex. Use --with-pcre-regex=DIR para especificar la ubicación de los archivos de inclusión y bibliotecas de PCRE, si no desea usar la biblioteca incluida. En versiones más antiguas, usted tendrá que configurar y compilar PHP con --with-pcre-regex[=DIR] para poder hacer uso de estas funciones.

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

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

Tabla 1. constantes PREG

constantedescripción
PREG_PATTERN_ORDER Ordena los resultados de modo que $coincidencias[0] sea una matriz de coincidencias del patrón completo, $coincidencias[1] sea una matriz de cadenas que coincidieron con el primer subpatrón entre paréntesis, y así sucesivamente. Esta bandera sólo es usada con preg_match_all().
PREG_SET_ORDER Ordena los resultados de modo que $coincidencias[0] resulte ser una matriz del primer conjunto de coincidencias, $matches[1] sea una matriz del segundo conjunto de coincidencias, y así sucesivamente. Esta bandera únicamente es usada con preg_match_all().
PREG_OFFSET_CAPTURE Consulte la descripción de PREG_SPLIT_OFFSET_CAPTURE. Esta bandera está disponible desde PHP 4.3.0.
PREG_SPLIT_NO_EMPTY Esta bandera le dice a preg_split() que devuelva únicamente resultados que no sean vacíos.
PREG_SPLIT_DELIM_CAPTURE Esta bandera le indica a preg_split() que capture las expresiones entre paréntesis dentro del patrón de delimitación también. Esta bandera está disponible desde PHP 4.0.5.
PREG_SPLIT_OFFSET_CAPTURE Si esta bandera está activa, la posición de desplazamiento correspondiente a cada coincidencia será devuelta también. Note que esto modifica el valor devuelto a una matriz en la que cada elemento es también una matriz que consiste de la cadena coincidente en el subíndice 0 y su posición de desplazamiento al interior de la cadena de asunto en el subíndice 1. Esta bandera está disponible a partir de PHP 4.3.0 y sólo es usada por preg_split().

Ejemplos

Ejemplo 1. Ejemplos de patrones válidos

  • /<\/\w+>/

  • |(\d{3})-\d+|Sm

  • /^(?i)php[34]/

  • {^\s+(\s+)?$}

Ejemplo 2. Ejemplos de patrones inválidos

  • /href='(.*)' - carece de delimitador de cierre

  • /\w+\s*\w+/J - modificador 'J' desconocido

  • 1-\d3-\d3-\d4| - carece del delimitador de apertura

Tabla de contenidos
Modificadores de Patrón -- Describe los posibles modificadores en patrones de expresiones regulares
Sintaxis de los Patrones -- Describe la sintaxis de expresiones regulares PCRE
preg_grep --  Devuelve una matriz con las entradas que coinciden con el patrón
preg_match_all -- Realizar una comparación global con una expresión regular
preg_match -- Realizar una comparación de expresión regular
preg_quote -- Escapar caracteres de expresiones regulares
preg_replace_callback -- Realizar una búsqueda con expresiones regulares y generar reemplazos usando una llamada de retorno
preg_replace -- Realizar una operación de búsqueda y reemplazo con expresiones regulares
preg_split -- Separar una cadena por una expresión regular

Hosting by: hurra.com
Generated: 2007-01-26 18:01:10