IIC2115 / Syllabus-2021-1

Syllabus del curso IIC2115 - Programación como Herramienta para la Ingeniería 2021/I
9 stars 47 forks source link

Funcionamiento del finditer de pyrematch #70

Open manalvarezc opened 3 years ago

manalvarezc commented 3 years ago

Hola! Tengo una duda respecto del funcionamiento del finditer() de pyrematch. En el ejemplo dado en el material del curso, al recorrerlo, entrega las coincidencias en orden de izquierda a derecha del string. Sin embargo, al realizarlo para strings del codigo html de una página, me los entrega pero en el orden inverso (como si estuviera revisando de derecha a izquierda en el string). ¿Por qué puede estar sucediendo esto?

nicovsj commented 3 years ago

Hola @manalvarezc,

Si puedes por favor, dame los detalles de la consulta que hiciste junto al código html en que lo utilizaste para poder reproducir este comportamiento.

Quedo atento,

pcseisdedos commented 3 years ago

@manalvarezc Nicolás Van Sint Jan es uno de los desarrolladores de la librería pyrematch, por lo que cualquier detalle que puedas entregarle será útil para encontrar y arreglar bugs si es que hay. Si crees que no puedes entregar detalles al respecto o replicar el error sin publicar parte de la solución del laboratorio, por favor envíamos un correo.

Saludos, Pablo 😁👍

manalvarezc commented 3 years ago

Hola! Acá dejo un ejemplo donde me sucede esto, al aplicar esta librería para leer html de un proyecto de otro curso. Esto es lo mismo que me sucedía al hacer la misión 1 del L1b:

def imprimir_img(texto): pattern = """<>!parte{img[^>]+}<>""" regex = re.compile(pattern) imagenes = [] for match in regex.finditer(texto): print(match.group('parte'))

## El código del img está modificado un poco porque si lo dejaba tal cual, aparecía un ícono de imagen.

imagenes = """Artículo 1º.- Otórguese a la empresa Inversiones y Servicios Dataluna Limitada, concesión definitiva para establecer el proyecto de transmisión <>img class="img1-responsive" src="Navegar/imagen/JPG/125173.jpg"<> de energía eléctrica denominado "Línea de Transmisión Subterránea 2x110 kV Pucará de Chena", en la Región Metropolitana, provincias de Santiago y Maipo, comunas de Cerrillos <>img class="img2-responsive" src="Navegar/imagen/JPG/125173.jpg"<> y San Bernardo. <>img class="img3-responsive" src="Navegar/imagen/JPG/125173.jpg"<>"""

imprimir_img(imagenes) Cuyo output es:

img class="img3-responsive" src="Navegar/imagen/JPG/125173.jpg" img class="img2-responsive" src="Navegar/imagen/JPG/125173.jpg" img class="img1-responsive" src="Navegar/imagen/JPG/125173.jpg"

Donde se ve que la numeración en el class se dio vuelta.