Las Expresiones Regulares, o Regular Expressions (RegEx), son patrones que podemos usar para encontrar una determinada combinación de caracteres dentro de un texto. Las RegEx proporcionan una manera muy flexible y poderosa de buscar o reconocer cadenas de texto para luego imprimirlas, modificarlas o cambiar su formato.
Existen dos tipos de RegEx en el estándar POSIX: Basic Regular Expressions (BRE) y Extended Regular Expressions (ERE). Luego están las Perl Compatible Regular Expression (PCRE), escritas en Lenguaje C e inspiradas en el poder de Perl.
No debemos confundir RegEx con Shell Globbs, ya que éste ultimo trabaja solamente con nombres de archivos. Las RegEx fueron definidas en la década del 1950 y tienen su origen en Regular Events, una notación creada por Stephen C. Kleene, un matemático estadounidense.
Los lenguajes de programación más conocidos soportan RegEx: C, Ruby, XML, Visual Basic, Unix Shell, Java, JavaScript, Python y, por supuesto, Perl.
De ahora en adelante nos enfocaremos en el uso de RegEx en el Linux Shell (Bash) usando grep, sed y awk. Nuestra guía y referencia de estudio es este cheatsheet (chuleta, en español) y como texto objetivo usaremos el poema Hay Un País en el Mundo, del poeta nacional (dominicano) Pedro Mir (1913-2000).