Está en la página 1de 3

EXPRESIONES REGULARES

======================

Las expresiones regulares sirven para crear patrones de búsquedas


Algunos comandos que pueden utilizar expresiones regulares son:
grep, egrep, sed, vi, awk, etc...

Una expresión regular es un patrón que nos permite buscar una cadena de caracteres
formada por metacaracteres y caracteres ordinarios

Los metacaracteres son caracteres que tienen un significado especial para el


sistema operativo

Para crear una expresión regular debemos tener un cuenta:

1. Siempre debe ir entre comillas


2. Los metacaracteres que podremos usar son:
* ? [ ] ^$ . { } | ( ) + < >
3. Si queremos buscar alguno de estos caracteres, debemos "escaparlo", es decir,
quitarle el significado especial. Esto se hace anteponiendo al carácter buscado el
símbolo \
0
comando 'expresion' fichero
comando "expresion" fichero

Existen 2 tipos de expresiones regulares

EXPRESIONES REGULARES (ER) BASICAS (grep, sed)


----------------------------------
caracteres utilizados para este tipo de expresiones:

. Representa a cualquier carácter, uno solo


[] Representa a un carácter de los incluidos entre los corchetes
[^] Representa a cualquier carácter que NO esté incluido entre nos corchetes
^ Indica que la búsqueda del patrón se realice al principio de la línea
$ Indica que la búsqueda del patrón se realice al final de la línea
* Representa a 0-N ocurrencias del carácter o ER anterior
\( \) Los parentesis permiten agrupar ER

'a.b' aab abb axb a9b a#b


'a..b' a12b aaab
'a[0-9]b' a7b
'a[^0-9]b a?b acb (o sea, añade en el medio todos los caracteres que no sean de 0-
9)

Repetición
----------
\{ \} Indican Repetición de la ER anterior. Entre las llaves podemos indicar 1 o
2 números.

\{n\} Indica que existan n repeticiones de la ER anterior


\{n,\} Indica que existan al menos n repeticiones de la ER anterior
\{n,m\} Indica que existan de n a m repeticiones de la ER anterior

'^[0-9]\{3\}.*'
Indica que va a buscar líneas que empezen por 3 números
123abc 145z
'[aeiou]\{2\}'
Indica que va a buscar líneas que tengan al mínimo 2 vocales
aa ae aei aaaaa

'[0-9]\{1,3\}' Busca en máximo 3 digitos numericos juntos


h0la s12t a123hola 1 12 123

ej:
Barcelona, 15 de enero de 2019
Madrid, 25 de octubre de 2023

[a-z]*, [0-9]\{1,2\} [a-z ]*[0-9]\{4\}$

pepe.perez1237@hotmail.com
[^!?·"*/\^$]@\{1\}[a-z].*\.[a-z]\{2,4\}

ER EXTENDIDAS (egrep, sed, -E, sed -r)


--------------------------------------

Metacaracteres para uno solo carácter


-------------------------------------

+ Indicar 1 o más repeticiones de la ER anterior


? Indica 0 a 1 ocurrencia de la ER anterior

Alternancia
-----------
| Indica que puedes aparecer uno de os caracteres de los indicados en la ER

Etiquetado
----------
Mediante los paréntesis, agrupamos ER que quedan etiquetadas, y podemos
referirnos a ellas mediante a un número, empezando por el 1 y desde la izquiera

De esta forma podemos incluir la ER etiquetada en cualquier parte de nuestro


patrón

En las ER extendidas no es necesario escapar los paréntesis ni las llaves

De las expresiones regulares básicas, usamos los metacaracteres: ^ $ [ ] ( ) { }

ej.

a+c ac aac aaac


(el mas significa una o más ocurrencia de la expresion anterior)

ab?c ac abc
(el parentesis hace referencia a la letra anterior) Significa 0 o 1 ocurrencia

(a|b)c ac bc

También podría gustarte