正規表現内で変数を使用する方法 質問する

正規表現内で変数を使用する方法 質問する

正規表現内で変数を使用したいのですが、Python でこれを行うにはどうすればよいですか?

TEXTO = sys.argv[1]

if re.search(r"\b(?=\w)TEXTO\b(?!\w)", subject, re.IGNORECASE):
    # Successful match
else:
    # Match attempt failed

ベストアンサー1

正規表現を文字列として構築する必要があります。

TEXTO = sys.argv[1]
my_regex = r"\b(?=\w)" + re.escape(TEXTO) + r"\b(?!\w)"

if re.search(my_regex, subject, re.IGNORECASE):
    etc.

re.escapeテキストに特殊文字が含まれている場合、特殊文字として解釈されないように を使用することに注意してください。

おすすめ記事