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.
Comentarios