¿Qué son y cómo funcionan las expresiones regulares en Python?
Capítulo 47: Expresiones regulares - search() - RegEx
En este capítulo aprenderás a utilizar las expresiones regulares (RegEx) en Python. Por supuesto no todo, ya que es un tema bastante extenso, pero aprenderás algunas cosas básicas para que puedas empezar a defenderte.
Para poder seguir este capítulo deberás importar el módulo re
con import re
.
¿Qué son las expresiones regulares en Python?
Las expresiones regulares también llamadas RegEX son básicamente secuencias de caracteres que forman un patrón de búsqueda.
Dejemos los tecnicismos a un lado y pasemos a la práctica, seguro que lo entenderás mucho mejor.
Como utilizar la función search() en Python
import re
texto = "Bienvenidos a Programación fácil"
busqueda = re.search("i", texto)
print(busqueda)
En este ejemplo, buscamos con la función search()
del módulo re
una coincidencia en la cadena de caracteres (string). En concreto, el primer parámetro es lo que quieres buscar, en mi caso la letra 'i'
.
Puesto que la letra 'i'
se encuentra al menos una vez, el resultado es este Match
, que quiere decir que encontró lo que buscaba, que hay letra 'i'
.
La búsqueda se detiene cuando encuentra la primera 'i'
, las demás las ignora y por lo tanto, en span
pone posición 1, 2
(de la posición 1 del string a la 2).
<re.Match object; span=(1, 2), match='i'>
En cambio, si no encuentra lo que se busca, devuelve un None
.
import re
texto = "Bienvenidos a Programación fácil"
busqueda = re.search("I", texto)
print(busqueda)
Aunque esta vez esté buscando la letra 'i'
, no me ofrece resultados porque Python es case sensitive (distingue mayúsculas de minúsculas).
None
Este sistema es tan preciso que hasta te permite buscar espacios en blanco.
Veamos un último ejemplo. Puedes buscar palabras o frases enteras, no solo un carácter:
import re
texto = "Bienvenidos a Programación fácil"
busqueda = re.search("Bienvenidos", texto)
print(busqueda)
Encuentra la palabra "Bienvenidos"
en la posición 0
del string y llega hasta la 11
.
<re.Match object; span=(0, 11), match='Bienvenidos'>
Comentarios
Si te quedan dudas sobre el temario, sobre Python, o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.