Faites correspondre des mots entiers à l'aide d'une expression régulière en C#
Lorsque vous utilisez des expressions régulières pour rechercher des correspondances dans une chaîne, il est crucial de vous assurer que seuls des mots entiers correspondent. Considérez la tâche consistant à faire correspondre des mots spécifiques tels que « chaussures », « chemise » et « pantalon » dans une chaîne de contenu.
Au départ, on pourrait penser que l'expression régulière suivante suffira :
<code>Regex.Match(content, keywords + "\s+", RegexOptions.Singleline | RegexOptions.IgnoreCase)</code>
Cependant, cette expression régulière correspond à des mots comme « participants » qui contiennent le mot souhaité « pantalon » mais ne sont pas eux-mêmes des mots complets.
Solution : limites des mots
Pour résoudre ce problème, les caractères de limite de mot (b) doivent être inclus dans l'expression régulière. Les limites des mots sont des caractères invisibles qui marquent le début et la fin d'un mot. En utilisant les limites des mots, l'expression régulière ne correspond désormais qu'aux mots complets :
<code>Regex.Match(content, @"\b(shoes|shirt|pants)\b");</code>
Nouvelle recherche de chaîne d'expression régulière pour tout mot commençant et se terminant par une limite de mot. Cela garantit que seules les correspondances exactes des mots spécifiés sont trouvées. Un caractère « @ » supplémentaire au début d'une chaîne indique que la chaîne doit être traitée comme une chaîne textuelle, empêchant ainsi les caractères spéciaux d'être interprétés comme des métacaractères.
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!