Verwenden Sie reguläre Ausdrücke, um vollständige Wörter in C# zu finden
Beim Programmieren ist es oft notwendig, bestimmte Wörter aus einer Zeichenfolge zu extrahieren. In C# stellen reguläre Ausdrücke (Regex) ein leistungsstarkes Werkzeug für solche Aufgaben dar. Allerdings kann es schwierig sein, ganze Wörter zuzuordnen, wenn man nicht darüber nachdenkt.
Stellen Sie sich das folgende Szenario vor: Sie haben die Website eines Bekleidungsgeschäfts und möchten Wörter im Zusammenhang mit Kleidung finden, z. B. „Schuhe“, „Hemd“ oder „Hosen“. Sie haben einen regulären Ausdruck geschrieben:
<code>string keywords = "(shoes|shirt|pants)";</code>
Und versuchen Sie, diese Wörter in der Inhaltszeichenfolge mit dem folgenden Code zu finden:
<code>Regex.Match(content, keywords + "\s+", RegexOptions.Singleline | RegexOptions.IgnoreCase).Success</code>
Diese Regex stimmt jedoch fälschlicherweise mit „participants“ überein, da sie „pants“ als Teilzeichenfolge enthält. Um nur exakte Wörter zu finden, verwenden Sie unbedingt Worttrennzeichen, dargestellt durch \b
.
Der geänderte reguläre Ausdruck wird zu:
<code>\b(shoes|shirt|pants)\b</code>
Durch das Hinzufügen von Worttrennzeichen erwartet die Regex nun, dass übereinstimmende Wörter durch Leerzeichen, Satzzeichen oder den Anfang/das Ende einer Zeichenfolge vorangestellt und gefolgt werden. Im Code wäre dieser geänderte Ausdruck:
<code>Regex.Match(content, @"\b(shoes|shirt|pants)\b");</code>
Mit dieser Änderung stimmt der reguläre Ausdruck nur mit den wörtlichen Wörtern „shoes“, „shirt“ und „pants“ in der Inhaltszeichenfolge überein.
Das obige ist der detaillierte Inhalt vonWie kann ich Regex in C# verwenden, um nur ganze Wörter abzugleichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!