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

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

Barbara Streisand
リリース: 2025-01-22 20:17:12
オリジナル
307 人が閲覧しました

How Can I Match Whole Words Only Using Regular Expressions in C#?

C# 正規表現を使用して完全な単語と完全に一致します

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

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