Skip to main content

Expresiones regulares

Las expresiones regulares nos van a permitir expresar patrones de coincidencia para  cadenas de texto. Es un modo muy flexible y potente que nos ayudará en nuestras búsquedas   por el interior de los ficheros.
En el terminal Linux las podremos utilizar con el comando grep que nos hará de filtro.   Están expresiones se usan en los lenguajes más conocidos de programación.

Expresiones regulares simples

  • Un carácter. [a-A]. También rangos [aeiou] [a-zA-Z].
  • Caracteres especiales como las comillas, los asteríscos, etc. Siempre con contrabarra delante. \" \*
  • grep [aeiou][aeiou], buscará dos vocales juntas.
  • Podemos negar la concatenencia con ^delante y dentro de los corchetes. [^aeiou]
  • grep -V niega todas la concatenencias.
  • El punto. Expresa cualquier cáracter excepto los saltos de línea.
  • ^ Al inicio de la expresión nos marca que el patrón debe cumplirse al inicio de línea.  grep ^[aeiou]
  • $ Al final de la expresión no marca que el patrón se cumple al final de línea.
  • \< Representa el inicio de palabra.
  • \> Representa el final de palabra.

Expresiones regulares simples predefinidas

  • [:almun:]. Alfanúmerico patrones de búsqueda que coinciden con un número o una letra.
  • [:cntrl:]. Códigos de control.
  • [:digit:]. Dígitos.
  • [:graph:]. Caracteres de gráficos.
  • [:lower:]. Letras en mínuscula.
  • [:print:]. Cáracter impremible.
  • [:punct:]. Símbolos de puntuación.
  • [:space:]. Espacios, tabulaciones.
  • [:upper:]. Letras en mayúsculas.
  • [:xdigit:]. Dígito hexadecimal.

Expresiones regulares extendidas

Una expresión regular simple puede ser seguida por un operador que indique el número de veces que ha de aparecer.

  •  ?. No es necesario que encuentre el patrón.
  • *. Esta cero o más veces.
  • +. Una o mas veces., como mínimo 1.
  • {n}. El elemento debe aparecer n veces.
  • {n,}. El elemento debe aparecer como mínimo n veces.
  • {,n}. El elemento debe aparecer como mucho n veces.
  • {n,m}. El mínino de veces n y el máximo de veces m.

Para las expresiones regulares extendidas debes utilizar el comando egrep o el comando grep -e.

Ejemplos y Retroreferencias

  • egrep "^[^aeiou]*[aeiou]{3}[^aeiou]*$". Esta expresión representa el siguiente patron:
    • Nos mostrará al inicio de línea una no vocal, cero o mas carácteres, luego 3 vocales seguidas de una no vocal, que a continuación tendrá 0 o más caracteres hasta el final de línea.
  • egrep "([aeiou]){3}....\1"
    • Nos muestra tres vocales, a continuación 4 caracteres excepto los saltos de línea y al final se debe repetir el primer patrón encontrado.
  • egrep "([aeiou])([aeiou])[aeiou]....\2\1"
    • Nos muestra tres vocales, a continuación 4 caracteres excepto los saltos de línea y al final primero se debe repetir la segunda vocal encontrada y luego la primera vocal encontrada.
  • grep -v '^#|^$\|^;'  Esta expresión regular nos quitará todos los comentarios de un fichero de configuración dejando, únicamente las partes del fichero que no estén comentadas.