Меню

Expresiones regulares
Las expresiones regulares son un mecanismo utilizado para buscar y reemplazar texto.
Permite ejecutar otro script en el script actual sin duplicarlo.

Un ejemplo sencillo de utilización de expresiones regulares: necesita encontrar todas las fechas en el texto, para ello necesita definir el formato de búsqueda de datos: "DD.MM.AAAA".

Puede trabajar con expresiones regulares en:
  • Notepad++;
  • Regex101;
  • Myregexp;
  • Regexr.
Los caracteres especiales se utilizan para crear un patrón.

Ejemplos de caracteres especiales:
  • Un punto en una expresión regular sustituye a cualquier carácter. Si busca ".o" encontrará: ladrón, bor, sor, chor... Si queremos encontrar una expresión que contenga exactamente un punto (o cualquier otro carácter especial), tenemos que escaparlo anteponiéndole una barra invertida.
  • Por ejemplo, para buscar todos los documentos con la extensión txt, utilice la expresión regular "\.txt".
  • Los corchetes [] indican alternativas válidas. Por ejemplo, para encontrar todas las menciones de la palabra cero (que tiene dos grafías), utilice la siguiente expresión regular: "n[ow]l".
  • ^ entre corchetes [] permite escribir una excepción. Por ejemplo, la expresión [^a-g8] significa cualquier carácter excepto a, b, c, d y el dígito 8.

Ejemplos
1. Escribamos una expresión regular para buscar un número de teléfono en Regex101.
Primero debe definir los caracteres aceptables. Para un número de teléfono, son todos los dígitos 0-9 y "+".
Establecemos esta condición mediante la expresión [+,0-9]. Escríbelo en Regex101.

Tenga en cuenta que los parámetros de búsqueda ("flags") deben estar definidos.
Algunos modos disponibles:
  • global - buscar todas las coincidencias (de lo contrario, sólo se encuentra la primera coincidencia);
  • milti line - modo multilínea;
  • intensive - búsqueda sin distinción entre mayúsculas y minúsculas ("A" y "a" se tratan como caracteres idénticos).

Ahora se encuentran todos los números y "+". Para encontrar sólo números, debe limitar la búsqueda al número de caracteres. En nuestro ejemplo, el número de teléfono contiene 11 o 12 caracteres. Añadamos esta condición.
Obtenemos la expresión: [+,0-9]{11,12}.

Ahora sólo se encuentran los números de teléfono.
2. Escribamos una expresión para buscar un correo electrónico.

La dirección puede contener caracteres alfabéticos y numéricos. Lo hemos especificado con la condición [a-z,0-9].
Ahora tenemos que especificar el número de caracteres {1,20} (si no lo hacemos, sólo se encontrará 1 carácter).
Luego hay que escribir el carácter obligatorio "@" y así sucesivamente...
El punto debe escaparse (barra invertida), de lo contrario se percibirá como cualquier carácter.