Ordnen Sie ganze Wörter mithilfe regulärer Ausdrücke in C# zu
Wenn Sie reguläre Ausdrücke verwenden, um Übereinstimmungen in einer Zeichenfolge zu finden, ist es wichtig sicherzustellen, dass nur ganze Wörter gefunden werden. Stellen Sie sich die Aufgabe vor, bestimmte Wörter wie „Schuhe“, „Hemd“ und „Hose“ in einer Inhaltszeichenfolge zuzuordnen.
Zuerst könnte man meinen, dass der folgende reguläre Ausdruck ausreicht:
<code>Regex.Match(content, keywords + "\s+", RegexOptions.Singleline | RegexOptions.IgnoreCase)</code>
Dieser reguläre Ausdruck sucht jedoch nach Wörtern wie „participants“, die das gewünschte Wort „pants“ enthalten, aber selbst keine vollständigen Wörter sind.
Lösung: Wortgrenzen
Um dieses Problem zu lösen, müssen Wortgrenzzeichen (b) in den regulären Ausdruck einbezogen werden. Wortgrenzen sind unsichtbare Zeichen, die den Anfang und das Ende eines Wortes markieren. Durch die Verwendung von Wortgrenzen findet die Regex jetzt nur vollständige Wörter:
<code>Regex.Match(content, @"\b(shoes|shirt|pants)\b");</code>
Neue Zeichenfolgensuche mit regulären Ausdrücken für jedes Wort, das mit einer Wortgrenze beginnt und endet. Dadurch wird sichergestellt, dass nur exakte Übereinstimmungen der angegebenen Wörter gefunden werden. Ein zusätzliches „@“-Zeichen am Anfang einer Zeichenfolge gibt an, dass die Zeichenfolge als wörtliche Zeichenfolge behandelt werden soll, wodurch verhindert wird, dass Sonderzeichen als Metazeichen interpretiert werden.
Das obige ist der detaillierte Inhalt vonWie kann man 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!