Mortuux

Diario de un estudiante geek. Informática, tecnología, programación, redes, sistemas operativos, bases de datos…

Archivos por Etiqueta: expresiones

Expresiones regulares en JavaScript

Una expresión regular es una cadena de caracteres que nos permitirá buscar coincidencias dentro de un texto o comprobar que una cadena tiene un formato concreto. En JavaScript se identifican colocando “/” al principio y al final de la cadena.

Consiste en escribir un conjunto de caracteres  para después encontrar coincidencias con él. Por ejemplo en la frase “el volante del coche” si nuestro patrón es /el/ obtendríamos que las palabras “el y “del” lo cumplen.

Para hacer más útiles los patrones, hay una serie de estructuras y caracteres especiales:

Caracteres de repetición

  • Asterisco(*): El caracter que le precede aparecerá cero o más veces.
  • Más(+): El caracter que le precede aparecerá una o más veces.
  • Interrogación(?): Igual que las opciones anteriores, pero el caracter puede aparecer ninguna o una vez.
  • {n}: Siendo n un número entero positivo, indicamos que el caracter se debe repetir al menos n veces.
  • {n,}: Similar al anterior, pero esta vez indicamos que al menos se debe repetir n veces.
  • {n, m}: El caracter debe repetirse entre n y m veces.

Caracteres especiales

  • Punto(.): Coincidirá con cualquier caracter simple excepto el salto de línea.
  • \n : Salto de línea.
  • \r : Retorno de carro.
  • \t : Caracter de tabulado.
  • \v : Tabulado vertical.
  • \f : Avance de página.
  • \uxxxx : Caracter unicode.
  • \b : Coincide con un separador de palabras.
  • \B : Coincide con un caracter que no sea separador de palabras.
  • \d : Dígito entre cero y nueve.
  • \D : Caracter que no sea un dígito.
  • \s : Coincide con un único caracter de separación.
  • \S : Coincide con un único caracter que no sea de separación.
  • \w : Coincide con cualquier caracter alfanumérico (De la “a” a la “z” en máyusculas y minúsculas, números del cero al nueve) o el subrayado.
  • \W: Coincide con cualquier caracter no alfanumérico ni subrayado.

Agrupaciones de valores

  • [xxx]: Coincide con los caracteres entre corchetes. También se puede especificar un rango contiguo de caracteres: [0-6] que esto equivale a [0123456].
  • [^xxx]: El acento circunflejo indica que coincidirán cualquier caracter salvo los especificados en los corchetes.
  • Barra vertical ( x | y ): O una cosa o la otra. Por ejemplo: /cara|cruz/, /perr[o|a]/

Modificadores

Los modificadores se colocan detras de la última barra, por ejemplo: /hola/g.

  • g : Fuerza a que se sigan buscando coincidencias después de encontrar la primera
  • i : Elimina distinción entre mayúsculas y minúsculas.
  • x : Fuerza que los espacios escritos sean ignorados.

Ejemplos útiles

  1. /\d{9}/ -> Número teléfono
  2. /\d{8}[a-zA-Z]/ -> Número DNI
  3. /\d{2}-\d{2}-\d{4} -> Fecha DD/MM/AAAA
  4. /\w+@\w+\.\w{2,3}/ -> Dirección correo electrónico.
Anuncios