ホームページ >バックエンド開発 >Python チュートリアル >Python 正規表現で変数を動的パターン マッチングに使用するにはどうすればよいですか?

Python 正規表現で変数を動的パターン マッチングに使用するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-01 22:48:14424ブラウズ

How Can I Use Variables in Python Regular Expressions for Dynamic Pattern Matching?

Python の正規表現に変数を組み込む

正規表現はテキスト内のパターンを見つけるのに非常に便利ですが、組み込むと有利な場合もあります。動的な値を検索条件に追加します。 Python では、正規表現を文字列として構築することでこれを実現できます。

テキスト内の特定の単語を検索したいが、単語自体は TEXTO という変数に格納されている次のシナリオを考えてみましょう。 :

TEXTO = sys.argv[1]

この変数を正規表現に含めるには、次のように目的のパターンと連結できます。

my_regex = r"\b(?=\w)" + re.escape(TEXTO) + r"\b(?!\w)"

コンポーネントの内訳は次のとおりです。

  • b: 単語境界と一致します。
  • (?=w): 肯定的な先読みアサーション、テキストの後に単語文字があることを確認します。
  • re.escape(TEXTO): 特殊なエスケープ
  • b(?!w): テキストの前に単語文字がないことを保証する、否定的な先読みアサーション。

完全に正規表現が構築されたら、一致の試行を続行できます。

if re.search(my_regex, subject, re.IGNORECASE):
    # Successful match
else:
    # Match attempt failed

次の場合には re.escape() の使用が重要であることに注意してください。 TEXTO には、 などの特殊文字が含まれます。または、パターン マッチングを妨げる可能性があります。これらの文字をエスケープすると、メタ文字ではなくリテラル文字として扱われます。

以上がPython 正規表現で変数を動的パターン マッチングに使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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