Maison >développement back-end >C++ >Comment puis-je utiliser Regex en C# pour faire correspondre des mots entiers uniquement ?
Utilisez une expression régulière pour faire correspondre des mots complets en C#
En programmation, il est souvent nécessaire d'extraire des mots spécifiques d'une chaîne. En C#, les expressions régulières (Regex) constituent un outil puissant pour de telles tâches. Cependant, faire correspondre des mots entiers peut être délicat si vous n'y réfléchissez pas.
Considérez le scénario suivant : vous possédez un site Web de magasin de vêtements et vous souhaitez faire correspondre des mots liés aux vêtements, tels que "chaussures", "chemise" ou "pantalon". Vous avez écrit une expression régulière :
<code>string keywords = "(shoes|shirt|pants)";</code>
Et essayez de retrouver ces mots dans la chaîne de contenu en utilisant le code suivant :
<code>Regex.Match(content, keywords + "\s+", RegexOptions.Singleline | RegexOptions.IgnoreCase).Success</code>
Cependant, cette expression régulière ne correspond pas correctement aux « participants » car elle contient « pantalons » comme sous-chaîne. Pour faire correspondre uniquement des mots exacts, veillez à utiliser des séparateurs de mots, représentés par \b
.
L'expression régulière modifiée devient :
<code>\b(shoes|shirt|pants)\b</code>
En ajoutant des séparateurs de mots, l'expression régulière s'attend désormais à ce que les mots correspondants soient précédés et suivis d'espaces, de ponctuation ou du début/fin d'une chaîne. En code, cette expression modifiée serait :
<code>Regex.Match(content, @"\b(shoes|shirt|pants)\b");</code>
Avec cette modification, l'expression régulière ne correspondra qu'aux mots littéraux « chaussures », « chemise » et « pantalon » dans la chaîne de contenu.
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!