Heim >Backend-Entwicklung >C++ >Wie kann ich ganze Wörter nur mit regulären Ausdrücken in C# abgleichen?
In C# werden reguläre Ausdrücke häufig verwendet, um bestimmte Muster im Text zu finden. Beim Versuch, vollständige Wörter zu finden, muss jedoch darauf geachtet werden, dass keine Teilwörter gefunden werden.
Angenommen, Sie müssen die Wörter „Schuhe“, „Hemd“ oder „Hose“ in einem Text finden:
<code>string keywords = "(shoes|shirt|pants)";</code>
Es scheint einfach zu sein, die Regex.Match
-Methode zu verwenden:
<code>if (Regex.Match(content, keywords + "\s+", RegexOptions.Singleline | RegexOptions.IgnoreCase).Success) { //匹配 }</code>
Dieser Ausdruck findet jedoch auch Wörter wie „participants“, da er „pants“ als teilweise Übereinstimmung innerhalb eines größeren Worts behandelt. Um dieses Problem zu lösen, müssen wir vollständige Wörter explizit zuordnen.
Wortgrenzen in regulären Ausdrücken werden durch die Zeichen b
dargestellt. Durch das Hinzufügen von Wortgrenzen zum regulären Ausdruck können Sie sicherstellen, dass nur exakt übereinstimmende Wörter erkannt werden:
<code>Regex.Match(content, @"\b(shoes|shirt|pants)\b");</code>
Hier ist der aktualisierte Code, um Wörter basierend auf Ihren Kriterien korrekt zuzuordnen:
<code>string keywords = "(shoes|shirt|pants)"; if (Regex.Match(content, @"\b(shoes|shirt|pants)\b").Success) { //匹配 }</code>
Mit dieser Änderung werden nur die drei vollständigen Wörter „Schuhe“, „Shirt“ und „Hose“ als Übereinstimmungen betrachtet, um die Genauigkeit des Zuordnungsvorgangs sicherzustellen.
Das obige ist der detaillierte Inhalt vonWie kann ich ganze Wörter nur mit regulären Ausdrücken in C# abgleichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!