Expresiones Regulares – 01

Las expresiones regulares son un método por medio del cual se pueden realizar búsquedas dentro de cadenas de caracteres. Sin importar si estamos buscando dos caracteres en una cadena de 10 o si necesitamos encontrar todas las apariciones de un patrón definido de caracteres en un archivo de millones de caracteres, las expresiones regulares nos proporcionan una solución para nuestro problema. Adicionalmente, es importante decir, que un uso derivado de la búsqueda de patrones es la validación de un formato especifico en una cadena de caractedes dada, pero este es un tema que tocaremos más adelante.

Donde encontrar las expresiones regulares

Para poder utilizar las expresiones regulares es necesario tener acceso a un motor de búsqueda con la capacidad de utilizarlas. Podemos clasificar los motores disponibles en dos tipos: Motores para el programador y Motores para el usuario final.

Motores para el usuario final: Son programas que permiten realizar búsquedas sobre el contenido de un archivo o sobre un texto extraido y colocado en el programa. Están diseñados para permitir al usuario el uso de búsquedas avanzadas usando este mecanismo, sin embargo es necesario aprender a redactar expresiones regulares adecuadas para poder utilizarlos eficientemente. Estos son algunos de los programas disponibles:

  • grep: Programa del mundo Linux.
  • ProwerGrep: versión de grep para windows
  • RegexBuddy: Ayuda a crear las expresiones regulares en forma interactiva y luego le permite al usuario usarlas y guardarlas.
  • EditPad Pro: Permite realizar búsquedas con expresiones regulares sobre archivos y las muestra por medio de código de colores para facilitar su lectura y comprensión.

Motores para el programador: Algunas veces encontrar lo que queremos dentro de un archivo no es suficiente y es necesario automatizar el proceso de búsqueda de modo que sea posible utilizarlo muchas veces para un propósito específico. Es aquí donde se vuelve útil que la herramienta con la cual estamos programando nos permita el uso de expresiones regulares, para realizar nuestras búsquedas y validaciones. Estas son las herramientas de programación disponibles que ofrecen motores de búsqueda con soporte a expresiones regulares:

  • Java: Existen varias librerias hechas para java que permiten el uso de RegEx, y Sun planea dar soporte a estas desde el SDK
  • JavaScript: Me sorprendió bastante saber que a partir de la versión 1.2 (ie4+, ns4+) JavaScript tiene soporte integrado para expresiones regulares, lo que significa que las validaciones que se realizan normalmente en una página web podrían simplificarse grandemente si el programador supiera utilizar esta herramienta.
  • Perl: Es el lenguaje que hizo crecer a las expresiones regulares a lo que son hoy.
  • PCRE: Librería de ExReg para C, C++ y otros lenguajes que puedan utilizar librerias dll (VB6 por ejemplo).
  • PHP: Tiene dos tipos diferentes de expresiones regulares disponibles para el programador.
  • Python: Lenguaje de "scripting" popular con soporte a ExReg.
  • .Net Framework: En mi opinión la más poderosa herramienta para el uso de ExReg; no porque sea superior a los demás lenguajes mencionados en este campo, sino porque en conjunto con las demás librerías de clases base, provee un  conjunto inigualable de utilitarios para el programador.

Aunque hasta ahora no hemos profundizado en la estructura y la definición de las expresiones regulares, es importante que antes de tomarlas en cuenta como una opción viable para dar solución al problema que se tiene por delante, estemos seguros de que tendremos acceso al menos a una herramienta de cada tipo (una para el usuario final y otra para el programador) de modo que el proceso de creación de la solución para nuestro problema no se convierta en un dolor de cabeza o eventualmente en una pérdida de tiempo. Una vez se tiene a mano el lenguaje de programación elegido y el programa que apoyará el proceso de creación, podemos adentrarnos en el aprendizaje de este lenguaje tan útil y poderoso.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s