ホームページ > バックエンド開発 > C++ > C# で正規表現を使用して単語全体のみに一致させるにはどうすればよいですか?

C# で正規表現を使用して単語全体のみに一致させるにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2025-01-22 20:02:10
オリジナル
627 人が閲覧しました

How Can I Use Regex in C# to Match Whole Words Only?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート