Les expressions régulières du module re prennent-elles en charge les limites des mots (b) ?
En essayant d'utiliser la séquence d'échappement b pour faire correspondre les limites des mots dans le module re de Python, des incohérences peuvent survenir. L'extrait de code suivant le démontre :
>>> x = 'one two three' >>> y = re.search("\btwo\b", x)
Étonnamment, l'objet de correspondance attendu est absent, renvoyant None à la place. Cela soulève la question de savoir si Python prend en charge l'expression b ou si son utilisation est incorrecte.
L'écart provient de l'utilisation de chaînes régulières dans le code. Des chaînes brutes doivent être utilisées à la place, comme démontré ci-dessous :
>>> x = 'one two three' >>> y = re.search(r"\btwo\b", x)
Cette modification résout le problème, produisant un objet de correspondance comme prévu.
En outre, envisagez d'utiliser l'approche suivante :
word = 'two' re.compile(r'\b%s\b' % word, re.I)
Cela garantit une correspondance insensible à la casse, élargissant potentiellement la portée des correspondances réussies.
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!