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
Libérer: 2024-11-23 07:39:10
original
776 Les gens l'ont consulté

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'
Copier après la connexion

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'
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal