Correspondance complète des mots avec une expression régulière C#
En C#, il est très courant d'utiliser des expressions régulières pour rechercher des mots spécifiques dans une chaîne donnée. Cependant, s’assurer que seuls des mots entiers correspondent peut s’avérer difficile.
Question :
Lorsque vous essayez de faire correspondre des mots comme « chaussures », « chemise » ou « pantalon » à l'aide du mot-clé regex s
, cela correspondra par inadvertance à des mots comme « participants ». En effet, les expressions régulières ne disposent pas d'un mécanisme permettant de différencier les mots et les sous-chaînes.
Solution :
Pour résoudre ce problème, des séparateurs de mots (b
) doivent être incorporés dans l'expression régulière. Les séparateurs de mots marquent le début et la fin des limites des mots, garantissant ainsi qu'une correspondance ne se produit que lorsque le mot cible est un mot complet plutôt qu'une partie d'un terme plus large.
Correction du code :
L'expression régulière mise à jour contenant des séparateurs de mots est :
<code>\b(shoes|shirt|pants)\b</code>
En code C# :
<code class="language-csharp">Regex.Match(content, @"\b(shoes|shirt|pants)\b");</code>
Avec cette expression régulière fixe, seuls les mots qui correspondent exactement à « chaussures », « chemise » ou « pantalon » seront reconnus, évitant ainsi les fausses correspondances comme « participants ».
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!