Heim > Backend-Entwicklung > C++ > Wie kann ich ganze Wörter nur mit regulären Ausdrücken in C# abgleichen?

Wie kann ich ganze Wörter nur mit regulären Ausdrücken in C# abgleichen?

Barbara Streisand
Freigeben: 2025-01-22 20:17:12
Original
343 Leute haben es durchsucht

How Can I Match Whole Words Only Using Regular Expressions in C#?

Genaue Übereinstimmung vollständiger Wörter mit regulären C#-Ausdrücken

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>
Nach dem Login kopieren

Es scheint einfach zu sein, die Regex.Match-Methode zu verwenden:

<code>if (Regex.Match(content, keywords + "\s+", 
  RegexOptions.Singleline | RegexOptions.IgnoreCase).Success)
{
    //匹配
}</code>
Nach dem Login kopieren

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.

Lösung: Wortgrenzen verwenden

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>
Nach dem Login kopieren

Aktualisierter 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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage