C# で正規表現を使用して完全な単語と一致させる
プログラミングでは、文字列から特定の単語を抽出することが必要になることがよくあります。 C# では、正規表現 (Regex) がこのようなタスクに強力なツールを提供します。ただし、単語全体を一致させるのは、よく考えないと難しい場合があります。
次のシナリオを考えてみましょう: 衣料品店の Web サイトがあり、「靴」、「シャツ」、「パンツ」などの衣料品に関連する単語を照合したいと考えています。正規表現を書きました:
<code>string keywords = "(shoes|shirt|pants)";</code>
そして、次のコードを使用して、コンテンツ文字列内でこれらの単語を検索してみてください:
<code>Regex.Match(content, keywords + "\s+", RegexOptions.Singleline | RegexOptions.IgnoreCase).Success</code>
ただし、この正規表現は部分文字列として「pants」を含むため、「participants」と誤って一致します。正確な単語のみを一致させるには、\b
で表される単語区切り文字を必ず使用してください。
変更された正規表現は次のようになります:
<code>\b(shoes|shirt|pants)\b</code>
単語区切り文字を追加することにより、正規表現は、一致した単語の前後にスペース、句読点、または文字列の先頭/末尾が存在することを期待するようになりました。コードでは、この変更された式は次のようになります:
<code>Regex.Match(content, @"\b(shoes|shirt|pants)\b");</code>
この変更により、正規表現はコンテンツ文字列内のリテラル単語「shoes」、「shirt」、および「pants」のみに一致します。
以上がC# で正規表現を使用して単語全体のみに一致させるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。