J'ai un modèle comme ci-dessous:Trouver tous les matchs d'un motif et les remplacer dans un texte
measurement = re.compile("(\d+(?:\.\d*)?)\s*x\s*(\d+(?:\.\d*)?)\s*(cm|mm|millimeter|centimeter|millimeters|centimeters)")
On peut voir à plusieurs reprises dans une phrase et dans un document. Je veux trouver tous les matches et le remplacer par "MESURE", aussi je veux ajouter sa valeur dans une liste.
**Input_Text**: measuring 9 x 5 mm and previously measuring 8 x 6 mm
**Output**: measuring MEASUREMENT and previously measuring MEASUREMENT
**List**: 9 x 5 mm, 8 x 6 mm
Jusqu'à présent, mon code est ci-dessous, mais il apporte seulement le premier match:
result = re.search(measurement, Input_Text)
if result:
Input_Text = Input_Text.replace(result, "MEASUREMENT")
utilisation 're.finditer (pattern, string)';). –
Vous ne pouvez pas remplacer 'result' dans le texte, de toute façon; c'est un [objet de correspondance] (https://docs.python.org/3/library/re.html#match-objects). –
Alors, pourquoi existe-t-il une variable 'findings_section' séparée? Est-ce la même chose que 'Input_Text'? –