C# 正規表現の完全な単語一致
C# では、正規表現を使用して特定の文字列内の特定の単語を検索するのが非常に一般的です。ただし、単語全体のみが一致するようにするのは困難な場合があります。
質問:
正規表現キーワード s
を使用して「靴」、「シャツ」、「パンツ」などの単語を一致させようとすると、誤って「参加者」などの単語と一致してしまいます。これは、正規表現には単語と部分文字列を区別するメカニズムがないためです。
解決策:
この問題を解決するには、単語区切り文字 (b
) を正規表現に組み込む必要があります。単語区切り文字は単語の境界の始まりと終わりをマークし、ターゲットの単語が大きな用語の一部ではなく完全な単語である場合にのみ一致が発生するようにします。
コード修正:
単語区切り文字を含む更新された正規表現は次のとおりです:
<code>\b(shoes|shirt|pants)\b</code>
C# コード:
<code class="language-csharp">Regex.Match(content, @"\b(shoes|shirt|pants)\b");</code>
この固定正規表現を使用すると、「靴」、「シャツ」、または「パンツ」に完全に一致する単語のみが認識され、「参加者」のような誤った一致が防止されます。
以上がC# で正規表現のみを使用して単語全体を一致させるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。