Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Expresiones regulares

Expresiones regulares

Introducción a las expresiones regulares y algunos ejemplos practicos

Marcelo Guzmán

January 18, 2014
Tweet

More Decks by Marcelo Guzmán

Other Decks in Programming

Transcript

  1. Definición • Una expresión regular, a menudo llamada también regex,

    es una secuencia de caracteres que forma un patrón de búsqueda, principalmente utilizada para la búsqueda de patrones de cadenas de caracteres u operaciones de sustituciones. Tomado de [1]
  2. Cuantificadores • + una ó más veces • ? cero

    ó una vez • * cero ó más veces • {n,m} mínimo y máximo de veces
  3. Simbolos • \d - es un dígito • \D -

    no es un dígito (negación) • \A - al inicio de una cadena • \Z - al final de una cadena
  4. Simbolos • . - cualquier carácter excepto un salto de

    línea (\n) • \s - un espacio (space) • \t - un tabulador (tab) • \w - un numero o letra • \W - no es un un numero o letra (negación)
  5. Simbolos • ^ - al principio de una línea •

    $ - al final de una línea • \/ - para indicar que se busca el backslash ( / ) • [ ] - se busca un patrón que esta dentro de los paréntesis
  6. Paréntesis • /(\d\s\w)/ Aagrupan varios símbolos en un sólo patrón

    (un digito, espacio, una letra) • /(A|B|C)/ Definine un patrón formado por alternativas (puede ser X, o ser Y, o ser Z)
  7. • Regex para un usuario: • un nombre de usuario

    entre 6 y 16 caracteres, contiene números, letras y underscode • ^[a-z0-9_]{6,16}$ Ejemplos
  8. Ejemplos • Regex para un email: • email con formato

    de: • usuario arroba dominio extensión • ^[a-z0-9]+[_a-z0-9\.-]*[a-z0-9]+@[a-z0-9- ]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$
  9. • Regex para un URL: • URL con formato de

    • http(s)://dominio punto extensión / ruta • ^http[s]?://[a-z0-9-\.]+\.[a-z\.]{2,5}(/[a-z0- 9%\-_\.\?=&@#]*)?$ Ejemplos
  10. • Regex para un Dominio • dominio con formato de

    • dominio punto extensión • • ^[a-z0-9]+[a-z0-9-\.]*[a-z0-9]+\.[a-z\.]{2,5}$ Ejemplos
  11. Ejemplos • Fecha (21/3/2014 o 3/21/2014) var dateRegex = /(\d{1,2}\/\d{1,2}\/\d{4})/gm;

    • Fecha en formato MM/DD/YYYY var dateMMDDYYYRegex = '^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$'; • Fecha en formato DD/MM/YYYY var dateDDMMYYYRegex = '^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d$';