porque re.findall no retorna true, retorna false y "no false" (es decir algo que no puede ser interpretado como falso, pero tampoco es un true booleano, sino un array que sería simplmemente algo que no es falso) en tal caso puedes usar
es decir, sus valores retornados pueden ser
Código [Seleccionar]
while((re.findall(expr, cadena))!=False):
es decir, sus valores retornados pueden ser
Código (python) [Seleccionar]
falla = False
logra = ["hola","mundo"]