次のような文字列文の単語を置き換えたいと思います。
What $noun$ is $verb$?
'$ $'(両端を含む)の文字を実際の名詞/動詞に置き換える正規表現は何ですか?
そのための正規表現は必要ありません。私はします
string = "What $noun$ is $verb$?"
print string.replace("$noun$", "the heck")
必要な場合にのみ正規表現を使用してください。一般的に遅いです。
$noun$
好みに合わせてなどを自由に変更できることを考えると、最近これを行うためのベストプラクティスは、おそらくformat
文字列で関数を使用することです。
"What {noun} is {verb}?".format(noun="XXX", verb="YYY")
In [1]: import re
In [2]: re.sub('\$noun\$', 'the heck', 'What $noun$ is $verb$?')
Out[2]: 'What the heck is $verb$?'
辞書を使用して、正規表現のパターンと値を保持します。re.subを使用してトークンを置き換えます。
dict = {
"(\$noun\$)" : "ABC",
"(\$verb\$)": "DEF"
}
new_str=str
for key,value in dict.items():
new_str=(re.sub(key, value, new_str))
print(new_str)
出力:
What ABC is DEF?