re.findall se comporte de manière anormale
Dilemme :
Dans un script Python utilisant Python 3.4 .3, la méthode re.search fournit le résultat attendu lorsqu'elle est appliquée à un chaîne source particulière en utilisant un modèle spécifié. Cependant, re.findall renvoie inexplicablement une liste vide pour le même modèle et la même chaîne source.
Exploration :
Curieusement, le La méthode re.findall se comporte de manière inattendue même si elle semble remplir les conditions d'extraction des correspondances d'une chaîne basée sur un motif.
Résolution :
Après un examen attentif, il devient évident que deux facteurs contribuent à ce comportement particulier :
Modèle rectifié :
Pour atténuer ce problème et extraire avec succès les correspondances, le Le modèle rectifié suivant doit être employé :
-?\d*\.?\d+
Explication :
Démonstration :
En utilisant le modèle modifié, le La méthode re.findall récupère désormais avec précision la liste anticipée des correspondances :
['123', '3.1415926']
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!