Maison >développement back-end >Tutoriel Python >Correspondance gourmande Python et correspondance multiligne
Ce qui suit est un exemple de correspondance gourmande et de correspondance multiligne en Python. Il a une bonne valeur de référence et j'espère qu'il sera utile à tout le monde. Jetons un coup d'oeil ensemble
1 drapeau non gourmand
>>> re.findall(r"a(\d+?)", "a23b") ['2'] >>> re.findall(r"a(\d+)", "a23b") ['23']
Payer attention à la comparaison Dans ce cas :
>>> re.findall(r"a(\d+)b", "a23b") ['23'] >>> re.findall(r"a(\d+?)b", "a23b") ['23']
2 Si vous souhaitez une correspondance multi-lignes, ajoutez re.S et re .M flags
re.S :. Correspondra aux caractères de nouvelle ligne, par défaut Ne correspondra pas aux caractères de nouvelle ligne
>>> re.findall(r"a(\d+)b.+a(\d+)b", "a23b\na34b") [] >>> re.findall(r"a(\d+)b.+a(\d+)b", "a23b\na34b", re.S) [('23', '34')] >>>.
re.M : Le drapeau ^$ correspondra à chaque ligne Par défaut, ^ et $ ne correspondront qu'à la première ligne
>>> re.findall(r"^a(\d+)b", "a23b\na34b") ['23'] >>> re.findall(r"^a(\d+)b", "a23b\na34b", re.M) ['23', '34']
Cependant. , s'il n'y a pas de logo ^,
>>> re.findall(r"a(\d+)b", "a23b\na23b") ['23', '23']
Recommandations associées :
Écrivez un simple robot d'exploration Web dans Python pour capturer des vidéos
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!