Incorporation de variables dans des expressions régulières en Python
Bien que les expressions régulières soient incroyablement utiles pour trouver des modèles dans le texte, il peut parfois être avantageux d'incorporer valeurs dynamiques dans les critères de recherche. En Python, cela peut être réalisé en construisant l'expression régulière sous forme de chaîne.
Considérez le scénario suivant dans lequel vous souhaitez rechercher un mot spécifique dans un texte, mais le mot lui-même est stocké dans une variable appelée TEXTO. :
TEXTO = sys.argv[1]
Pour inclure cette variable dans votre expression régulière, vous pouvez la concaténer avec le modèle souhaité comme suit :
my_regex = r"\b(?=\w)" + re.escape(TEXTO) + r"\b(?!\w)"
Voici une répartition des composants :
Avec l'expression régulière entièrement construite, vous pouvez continuer avec votre tentative de correspondance :
if re.search(my_regex, subject, re.IGNORECASE): # Successful match else: # Match attempt failed
Notez que l'utilisation de re.escape() est cruciale si TEXTO contient des caractères spéciaux, tels que . ou , ce qui pourrait interférer avec la correspondance de modèle. En échappant à ces caractères, ils sont traités comme des caractères littéraux plutôt que comme des métacaractères.
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!