PHP - Expresiones regulares

download PHP - Expresiones regulares

of 9

Transcript of PHP - Expresiones regulares

  • 7/24/2019 PHP - Expresiones regulares

    1/9

    EXPRESIONES REGULARES EN PHP

  • 7/24/2019 PHP - Expresiones regulares

    2/9

    PCRE: Perl Compatible Regular

    Expressions Las funciones de strings en php son tiles para tratar cadenas

    pero para saber acerca de la forma que tiene un string, parasaber si est bien formado necesitamos aplicar expresionesregulares.

    Las expresiones regulares son patrones de bsqueda que

    definimos para saber si una cadena cumple unas reglasdeterminadas, siendo evaluada la cadena objetivo deizquierda a derecha.

    Si la expresin regular que definimos encaja con la cadenaque comprobamos la operacin de comprobacin tiene xito.

  • 7/24/2019 PHP - Expresiones regulares

    3/9

    Caracteres para expresiones regulares:

    metacaracteresMETACARCTER SIGNIFICADO

    . coincidencia con cualquier carcter

    ^coincidencia al principio del string.Indica que hay que buscar el patrn desde elincio de la cadena.

    $coincidencia al final del stringObliga al patrn a cumplirse hasta el final de lacadena

    \s coincidencia con cualquier espacio en blanco

    \d coincidencia con cualquier dgito

    \Dcoincidencia con cualquier carcter que no seaun dgito

    \w

    coincidencia con cualquier carcter que puedaser parte de una palabra (letra, nmero, guinbajo)

  • 7/24/2019 PHP - Expresiones regulares

    4/9

    Caracteres para expresiones regulares:

    metacaracteresMETACARCTER SIGNIFICADO

    \Wcoincidencia con cualquier carcter que NOpueda ser parte de una palabra (letra, nmero,guin bajo)

    \AInicio de un string.

    \z

    Final de un string.

    \

    Si queremos utilizar cualquiera de losanteriores caracteres como parte del patrntendremos que utilizar ste smbolo de escapepara indicarle a PHP que es un literal.

  • 7/24/2019 PHP - Expresiones regulares

    5/9

    Caracteres para expresiones regulares:

    cuantificadores

    Como parte de la notacin, siempre encerramos las expresiones regulares entre/, llaves ({}) o #. Por ejemplo, la expresin /ab?c/ tiene coincidencia con ac yabc. La expresin regular /ab{1,3}c/ tienen coincidencia con abc, abbcy abbbc

    Para ampliar informacin ver tambin los modificadores:

    http://php.net/manual/es/reference.pcre.pattern.modifiers.php

    CARCTER Significado

    * el carcter puede aparecer cero o mas veces.

    + el carcter puede aparecer una o mas veces.

    ? el carcter puede aparecer cero o una vez.

    {n} el carcter aparece exactamente n veces.

    {n,} el carcter aparece n o ms veces.

    {n,m} el carcter puede aparecer entre n y m veces.

  • 7/24/2019 PHP - Expresiones regulares

    6/9

    Caracteres para expresiones regulares:

    agrupadores [] los corchetes permiten agrupar elementos creando rangos.

    Ejemplo:

    /[a-z]+[0-9]*/tendr coincidencia con cualquier cadena quetenga una o ms veces un carcter de la a a la z seguido de unnmero del 0 al 9 que podr aparecer cero o ms

    veces:aab1,cbh8 () los parntesis nos permiten crear sub-expresiones

    contenidas dentro de otras: /12(ab.)+@/ tendracoincidencia con 12ab112abe@.

  • 7/24/2019 PHP - Expresiones regulares

    7/9

    Funciones PHP para PCREpreg_match : Realiza una comparacin con una expresin regularpreg_filter : Realiza una bsqueda y sustitucin de una expresin regularpreg_grep : Devuelve entradas de matriz que coinciden con el patrnpreg_last_error : Devuelve el cdigo de error de la ltima ejecucin de

    expresin regular PCREpreg_match_all: Realiza una comparacin global de una expresin

    regular

    preg_quote : Escapar caracteres en una expresin regularpreg_replace_callback : Realiza una bsqueda y sustitucin de una

    expresin regular usando una llamada de retornopreg_replace : Realiza una bsqueda y sustitucin de una expresin

    regularpreg_split : Divide un string mediante una expresin regular

  • 7/24/2019 PHP - Expresiones regulares

    8/9

    Validacin de campos: preg_match() Ejemplo de uso depreg_match para validacin:

    Existen herramientas para generar patrones de expresionesregulares fcilmente:vase

    http://txt2re.com/

    http://www.regexr.com/

  • 7/24/2019 PHP - Expresiones regulares

    9/9

    PCRE: Manual PHP Para ampliar informacin:

    http://php.net/manual/es/reference.pcre.pattern.syntax.php