SAY docs Python:Python re.sub avec un drapeau ne remplace pas toutes les occurrences
re.MULTILINE: Quand il est spécifié, le caractère de modèle «^» correspond au début de la chaîne et au début de chaque ligne (immédiatement après chaque nouvelle ligne) ... Par défaut, '^' correspond uniquement au début de la chaîne ...
Alors, que se passe-t-il lorsque j'obtiens le résultat inattendu suivant?
>>> import re
>>> s = """// The quick brown fox.
... // Jumped over the lazy dog."""
>>> re.sub('^//', '', s, re.MULTILINE)
' The quick brown fox.\n// Jumped over the lazy dog.'
il serait préférable d'avoir 're.compile ('^ //', re.M) .sub ('', s)' – SilentGhost
vous ne devez pas le compiler si vous dites à python le drapeau que vous êtes le passant – pseudosudo
@pseudosudo les arguments flags ont été ajoutés dans Python 2.7, qui n'existait pas lorsque cette réponse a été postée. J'ai ajouté l'information à la réponse. – agf