Secuencias especiales, metacaracteres y sets - Expresiones regulares - RegEx - Curso de Python desde cero - Capítulo 50
Penúltimo capítulo del curso, en el que vamos a ver bastantes cosas que te serán de gran utilidad. Empecemos con los metacaracteres. Estos nos van a servir para poder especificar secuencias especiales y sets.
Metacaracteres de Python
Caracter
Descripción
Ejemplo
[]
Un conjunto de caracteres.
"[a-z]"
{}
Especifican un número determinado de resultados. En el ejemplo el {2} representa dos letras o.
"zo{2}lógico"
()
Agrupan patrones.
\
Se utiliza para especificar una secuencia especial.
"\A"
|
Se utiliza para especificar que encuentre un resultado u otro.
"par|impar"
.
Caracter comodin, reemplaza cualquier caracter.
"programa..ón fác.l"
^
Comienza con lo que le escribas.
"^hola"
$
Termina con lo que le escribas.
"mundo$"
*
Ninguno o más resultados.
"es*"
+
Uno o más resultados.
"es+"
Veamos unos ejemplos prácticos para que quede esto mucho más claro.
Código Python
import re
texto = "Bienvenidos a Programación fácil y bienvenidos al curso de Python."
buscar = re.findall("[c-g]", texto)
print(buscar)
terminal Resultado en la consola terminal
Devuelve una lista con las coincidencias de caracteres encontrados en el string, en el rango entre la letra c y la g.
Esta condición es una abreviación del if (if buscar:), el equivalente es: if buscar == True.
import re
texto = "¿Van al zoológico?"
buscar = re.findall("zo{2}lógico", texto)
if buscar:
print("Hay al menos una coincidencia.")
else:
print("No hay coincidencias.")
terminal Resultado en la consola terminal
Dado que si hay una coincidencia, devuelve el print() del if.
Hay al menos una coincidencia.
Código Python
import re
texto = "El futuro es ahora."
buscar = re.findall("pasado|futuro", texto)
if buscar:
print("Hay al menos una coincidencia.")
else:
print("No hay coincidencias.")
terminal Resultado en la consola terminal
Si hay una coincidencia, devuelve el print() del if.
Hay al menos una coincidencia.
Código Python
import re
texto = "La programación es fácil."
buscar = re.findall("progra..ción", texto)
if buscar:
print("Hay al menos una coincidencia.")
else:
print("No hay coincidencias.")
terminal Resultado en la consola terminal
Si hay una coincidencia, devuelve el print() del if.
Hay al menos una coincidencia.
Código Python
import re
texto = "Se acerca el invierno."
buscar = re.findall("^Se acerca", texto)
if buscar:
print("Hay al menos una coincidencia.")
else:
print("No hay coincidencias.")
terminal Resultado en la consola terminal
Si hay una coincidencia, devuelve el print() del if.
Hay al menos una coincidencia.
Código Python
import re
texto = "Se acerca el invierno."
buscar = re.findall("vierno.$", texto)
if buscar:
print("Hay al menos una coincidencia.")
else:
print("No hay coincidencias.")
terminal Resultado en la consola terminal
Si hay una coincidencia, devuelve el print() del if.
Hay al menos una coincidencia.
Pasemos a las secuencias especiales.
Secuencias especiales de Python
Caracter
Descripción
Ejemplo
\A
Devuelve una coincidencia si los caracteres especificados se encuentran al principio de la cadena.
"\ABienvenidos"
\b
Devuelve una coincidencia si los caracteres especificados se encuentran al principio o al final de una palabra.
"Bienvenidos\b"
\B
Devuelve una coincidencia si los caracteres especificados se encuentran entre una palabra, pero no al principio o al final.
"veni\B"
\d
Devuelve una coincidencia si el string contiene dígitos del 0 al 9.
"\d"
\D
Devuelve una coincidencia si en el string no hay ningún dígito.
"\D"
\s
Devuelve una coincidencia si en el string hay al menos un espacio en blanco.
"\s"
\S
Devuelve una coincidencia si en el string no hay ningún espacio en blanco.
"\S"
\w
Devuelve una coincidencia si el string contiene cualquier carácter de la a a la z, dígitos del 0 al 9 o la barra baja "_"
"mundo$"
\W
Devuelve una coincidencia si el string no contiene cualquier carácter de la letra a a la z.
"es*"
\Z
Devuelve una coincidencia si los carácteres especificados están al final del string.
"fácil\Z"
Sets
Los sets básicamente son conjuntos de lo que quieres buscar encerrados entre corchetes, mira algunos ejemplos:
Set (conjunto)
Descripción
[$]
Todos estos símbolos +, *, $ ()... lo que quieren decir es literalmente ellos mismos, es decir, si pones en el set el símbolo dólar, buscará ese símbolo literalmente en un string.
[abc]
Buscará si están estos caracteres en el string.
[e-q]
Buscará en el string si hay los caracteres comprendidos entre el rango de letras de la e a la q.
[^abc]
Buscará cualquier carácter excepto a, b y c.
[2-7]
Busca cualquier dígito entre el rango de 2 y 7.
[c-kC-K]
Busca en el string cualquier carácter comprendido en el rango de la letra c a la k independientemente de si es mayúscula o minúscula.
Suscríbete a mi canal de YouTube para apoyarme
Si te ha gustado este curso y crees que el trabajo merece la pena, te agradeceré eternamente que te suscribas a mi canal de YouTube para apoyarme y que pueda seguir haciendo cursos gratuitos.
Además, si te encanta la programación, tienes un montón más de cursos gratuitos para ver.
No solo eso, podrás participar enviándome comentarios con tus sugerencias para temas específicos o cursos completos o incluso las dudas que tengas y las intentaré ir resolviendo en los cursos que estén todavía abiertos.
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.
IDEs para Python
PyCharm
Pycharm es un fantástico IDE para Python. Cuenta con versión gratuita y versión de pago. Tú eliges.
Como única desventaja, podemos decir que si el inglés no es lo tuyo, puede ser que este IDE no te vaya del todo cómodo, ya que por el momento, no está en español.
Puedes contactarme para peticiones comerciales y proyectos a mi correo electrónico.
Para dudas sobre el sitio web o sobre alguno de los cursos, puedes dejarme comentarios en la página correspondiente a la duda o en mi canal de YouTube.