Maison >développement back-end >Tutoriel Python >Comment puis-je utiliser des expressions régulières pour faire correspondre des mots entiers dans une chaîne ?

Comment puis-je utiliser des expressions régulières pour faire correspondre des mots entiers dans une chaîne ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-23 07:39:10780parcourir

How Can I Use Regular Expressions to Match Whole Words in a String?

Faire correspondre un mot entier dans une chaîne à l'aide de l'expression régulière dynamique

La tâche de faire correspondre un mot entier dans une chaîne peut être réalisée à l'aide de l'expression régulière. Cependant, créer plusieurs expressions de correspondance pour différents emplacements de mots peut s'avérer fastidieux. Cet article explore une solution concise utilisant les limites de mots.

Utilisation des limites de mots

Les limites de mots, désignées par b, indiquent le début ou la fin d'un mot. En incorporant b dans le modèle regex, nous pouvons faire correspondre des mots entourés de caractères autres que des mots. Le code suivant le démontre :

match_string = r'\b' + word + r'\b'
# Or Python 3.7+ only versions:
match_string = r'\b{}\b'.format(word)
match_string = rf'\b{word}\b'

Ce modèle d'expression régulière correspondra à "mot" dans son ensemble, quelle que soit sa position dans la chaîne.

Correspondance de plusieurs mots

Si plusieurs mots doivent correspondre à des mots entiers, nous pouvons utiliser une liste de mots et créer un modèle comme ceci :

match_string = r'\b(?:{})\b'.format('|'.join(words))
# Or Python 3.7+ only version:
match_string = rf'\b(?:{"|".join(words)})\b'

Dans ce modèle, les mots sont enfermés dans un groupe non capturant, garantissant que seuls les mots entiers correspondent.

Considérations sur les limites

Si les "mots" à rechercher contiennent des caractères spéciaux, ils doivent être échappés avant de les utiliser dans le modèle d'expression régulière en utilisant re.escape().

Pour les mots qui commencent ou se terminent par des caractères spéciaux, des limites de mots sans ambiguïté (?

En conclusion, l'utilisation des limites de mots offre une solution pratique moyen de faire correspondre des mots entiers dans une chaîne, éliminant ainsi le besoin de plusieurs expressions de correspondance basées sur l'emplacement des mots.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn