Maison >développement back-end >C++ >Comment puis-je faire correspondre des mots entiers uniquement à l'aide d'expressions régulières en C# ?

Comment puis-je faire correspondre des mots entiers uniquement à l'aide d'expressions régulières en C# ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-22 20:17:12308parcourir

How Can I Match Whole Words Only Using Regular Expressions in C#?

Faire correspondre exactement des mots complets à l'aide d'expressions régulières C#

En C#, les expressions régulières sont souvent utilisées pour rechercher des modèles spécifiques dans le texte. Cependant, lorsque vous essayez de faire correspondre des mots complets, il faut veiller à éviter de faire correspondre des mots partiels.

Supposons que vous ayez besoin de trouver les mots « chaussures », « chemise » ou « pantalon » dans un texte :

<code>string keywords = "(shoes|shirt|pants)";</code>

Il semble facile d'utiliser la méthode Regex.Match :

<code>if (Regex.Match(content, keywords + "\s+", 
  RegexOptions.Singleline | RegexOptions.IgnoreCase).Success)
{
    //匹配
}</code>

Cependant, cette expression correspondra également à des mots tels que « participants » car elle traite « pantalon » comme une correspondance partielle dans un mot plus grand. Pour résoudre ce problème, nous devons faire correspondre explicitement des mots complets.

Solution : utilisez les limites des mots

Les limites des mots dans les expressions régulières sont représentées par les caractères b. En ajoutant des limites de mots à l'expression régulière, vous pouvez vous assurer que seuls les mots correspondant exactement sont reconnus :

<code>Regex.Match(content, @"\b(shoes|shirt|pants)\b");</code>

Code mis à jour

Voici le code mis à jour pour faire correspondre correctement les mots en fonction de vos critères :

<code>string keywords = "(shoes|shirt|pants)";
if (Regex.Match(content, @"\b(shoes|shirt|pants)\b").Success)
{
    //匹配
}</code>

Avec cette modification, seuls les trois mots complets « chaussures », « chemise » et « pantalon » seront considérés comme des correspondances, garantissant l'exactitude de l'opération de correspondance.

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