C# では、テキスト内の特定のパターンを見つけるために正規表現がよく使用されます。ただし、完全な単語の一致を試みる場合は、部分的な単語の一致を避けるように注意する必要があります。
テキスト内で「靴」、「シャツ」、または「パンツ」という単語を検索する必要があるとします。
<code>string keywords = "(shoes|shirt|pants)";</code>
Regex.Match
メソッドを使用するのは簡単のようです:
<code>if (Regex.Match(content, keywords + "\s+", RegexOptions.Singleline | RegexOptions.IgnoreCase).Success) { //匹配 }</code>
ただし、この式は「pants」をより大きな単語内の部分一致として扱うため、「participants」などの単語にも一致します。この問題を解決するには、完全な単語を明示的に一致させる必要があります。
正規表現の単語境界は、b
文字で表されます。正規表現に単語の境界を追加すると、完全に一致する単語のみが確実に認識されるようになります:
<code>Regex.Match(content, @"\b(shoes|shirt|pants)\b");</code>
条件に基づいて単語を正しく一致させるために更新されたコードは次のとおりです:
<code>string keywords = "(shoes|shirt|pants)"; if (Regex.Match(content, @"\b(shoes|shirt|pants)\b").Success) { //匹配 }</code>
この変更により、「靴」、「シャツ」、「パンツ」という 3 つの完全な単語のみが一致とみなされ、一致操作の精度が保証されます。
以上がC# で正規表現のみを使用して単語全体を一致させるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。