En el post anterior ya hemos visto el método finditer(), que nos dará un objeto «Match». Más adelante veremos qué podemos hacer con este objeto.

Mientras tanto, veamos otros métodos como: findall(), match(), search(), etc.

Empezaremos con findall(). Gracias a este método, simplemente obtendremos la cadena coincidente y no todo el objeto «Match».

import re

cadenaPrueba = "123abc456789abc123ABC"

patron = re.compile(r"abc")
coincidencias = patron.findall(cadenaPrueba)

for coincidencia in coincidencias:
    print(coincidencia)

Resultado:

abc
abc

match() determina si la expresión coincide con el principio de la cadena.

import re

cadenaPrueba = "123abc456789abc123ABC"

patron = re.compile(r"abc")
coincidencia = patron.match(cadenaPrueba)

print(coincidencia)

Resultado:

None

En este caso, devuelve «None» (ninguno) porque «abc» no está al principio de «cadenaPrueba».
Vamos a probar a cambiar el patrón de «abc» a «123» y ver el nuevo resultado.

import re

cadenaPrueba = "123abc456789abc123ABC"

patron = re.compile(r"123")
coincidencia = patron.match(cadenaPrueba)

print(coincidencia)

Resultado:

<re.Match object; span=(0, 3), match='123'>

Esto devuelve una coincidencia.

search() escanea la cadena y busca cualquier lugar donde la expresión coincida.

import re

cadenaPrueba = "123abc456789abc123ABC"

patron = re.compile(r"abc")
coincidencia = patron.search(cadenaPrueba)

print(coincidencia)

Resultado:

<re.Match object; span=(3, 6), match='abc'>

Esto simplemente devuelve la primera coincidencia.

También tenemos métodos para modificar un objeto como split(), sub(), etc.

Última modificación: 8 de febrero de 2022

Autor

Comentarios

Escribe una respuesta o comentario

Tu dirección de correo electrónico no será publicada.