ホームページ  >  記事  >  バックエンド開発  >  正規表現を使用して文字列内の単語全体と一致するにはどうすればよいですか?

正規表現を使用して文字列内の単語全体と一致するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-23 07:39:10709ブラウズ

How Can I Use Regular Expressions to Match Whole Words in a String?

動的正規表現を使用して文字列内の単語全体を照合する

文字列内の単語全体を照合するタスクは、正規表現を使用して実行できます。ただし、異なる単語の位置に対して複数の一致式を作成するのは面倒な場合があります。この記事では、単語境界を使用した簡潔な解決策について詳しく説明します。

単語境界の使用

b で示される単語境界は、単語の始まりまたは終わりを示します。 b を正規表現パターンに組み込むことにより、単語以外の文字で囲まれた単語と一致させることができます。次のコードはこれを示しています。

match_string = r'\b' + word + r'\b'
# Or Python 3.7+ only versions:
match_string = r'\b{}\b'.format(word)
match_string = rf'\b{word}\b'

この正規表現パターンは、文字列内の位置に関係なく、単語全体として「word」と一致します。

複数の単語の一致

複数の単語を単語全体として一致させる必要がある場合は、単語のリストを使用して次のようなパターンを作成できます。 this:

match_string = r'\b(?:{})\b'.format('|'.join(words))
# Or Python 3.7+ only version:
match_string = rf'\b(?:{"|".join(words)})\b'

このパターンでは、単語は非キャプチャ グループ内に囲まれ、単語全体のみが一致することが保証されます。

境界に関する考慮事項

照合する「単語」に特殊文字が含まれている場合は、正規表現パターンで使用する前にエスケープする必要があります。 re.escape().

特殊文字で始まるまたは終わる単語の場合は、明確な単語境界 (?

結論として、単語境界を使用すると便利です。文字列内の単語全体を照合する方法で、単語の位置に基づいて複数の一致式を使用する必要がなくなります。

以上が正規表現を使用して文字列内の単語全体と一致するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。