que redactó esta expresión regular:¿Por qué re.findall() me da resultados diferentes que re.finditer() en Python?
p = re.compile(r'''
\[\[ #the first [[
[^:]*? #no :s are allowed
.*? #a bunch of chars
(
\| #either go until a |
|\]\] #or the last ]]
)
''', re.VERBOSE)
quiero usar re.findall
para obtener todas las secciones coincidentes de un trozo de cuerda. Escribí un código de prueba, pero me da resultados extraños.
Este código
g = p.finditer(' [[Imae|Lol]] [[sdfef]]')
print g
for elem in g:
print elem.span()
print elem.group()
me da este resultado:
(3, 10)
[[Imae|
(20, 29)
[[sdfef]]
tiene mucho sentido ¿verdad? Pero cuando hago esto:
h = p.findall(' [[Imae|Lol]] [[sdfef]]')
for elem in h:
print elem
la salida es la siguiente:
|
]]
¿Por qué no se FindAll() imprimir los mismos resultados que finditer ??
Esto resolvió el problema! Me olvidé un poco sobre Findall ... ¡gracias! –