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.
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>
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!