Pythonで正規表現を使う際には、re
モジュールを使用します。このモジュールはPerlの正規表現操作に似た操作を提供しています。
特に、正規表現内で変数を使用する場合には注意が必要です。以下にその方法をいくつか紹介します。
文字列の結合を使う方法
Pythonの文字列結合を使って、正規表現内に変数を挿入することができます。以下にその例を示します。
import re
TEXTO = sys.argv[1]
my_regex = r"\\b(?=\\w)" + re.escape(TEXTO) + r"\\b(?!\\w)"
if re.search(my_regex, subject, re.IGNORECASE):
# Successful match
else:
# Match attempt failed
この例では、re.escape(TEXTO)
を使っています。これは、TEXTO
内の特殊文字が正規表現として解釈されないようにするためです。
f文字列を使う方法
Python 3.6以降では、f文字列(Literal String Interpolation)を使って、正規表現内に変数を挿入することもできます。以下にその例を示します。
import re
TEXTO = sys.argv[1]
if re.search(rf"\\b(?=\\w){TEXTO}\\b(?!\\w)", subject, re.IGNORECASE):
# Successful match
else:
# Match attempt failed
この例では、rf"\\b(?=\\w){TEXTO}\\b(?!\\w)"
というf文字列を使っています。これにより、TEXTO
変数が直接正規表現内に挿入されます。
以上のように、Pythonの正規表現内で変数を使用する方法はいくつかあります。適切な方法を選んで、コードを書くことが重要です。