9

次のような文字列文の単語を置き換えたいと思います。

What $noun$ is $verb$?

'$ $'(両端を含む)の文字を実際の名詞/動詞に置き換える正規表現は何ですか?

4

4 に答える 4

20

そのための正規表現は必要ありません。私はします

string = "What $noun$ is $verb$?"
print string.replace("$noun$", "the heck")

必要な場合にのみ正規表現を使用してください。一般的に遅いです。

于 2012-09-21T21:15:52.057 に答える
5

$noun$好みに合わせてなどを自由に変更できることを考えると、最近これを行うためのベストプラクティスは、おそらくformat文字列で関数を使用することです。

"What {noun} is {verb}?".format(noun="XXX", verb="YYY")
于 2015-10-19T08:42:54.797 に答える
1
In [1]: import re

In [2]: re.sub('\$noun\$', 'the heck', 'What $noun$ is $verb$?')
Out[2]: 'What the heck is $verb$?'
于 2012-09-21T21:13:27.707 に答える
0

辞書を使用して、正規表現のパターンと値を保持します。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?
于 2021-07-02T20:09:30.417 に答える