擅长:python、mysql、java
<p>我将使用<a href="https://docs.python.org/3/library/re.html#re.sub" rel="nofollow noreferrer">^{<cd1>}</a>按如下方式执行此任务</p>
<pre><code>import re
txt = '''<password>{$password}</password>
<user>{$user}</user>
<host>{$host}</host>'''
data = {"password": "SECRET", "user": "NAME", "host": "LOCAL"}
def replacement(x):
return data[x.group(1)]
out = re.sub(r'\{\$([^\}]+)\}', replacement, txt)
print(out)
</code></pre>
<p>输出</p>
<pre><code><password>SECRET</password>
<user>NAME</user>
<host>LOCAL</host>
</code></pre>
<p>解释:<code>re.sub</code>第二个参数可能是接受匹配对象的函数。我将正则表达式与一个捕获组一起使用,然后使用该内容查找数据<code>dict</code>。注意<code>{</code>和<code>$</code>和<code>}</code>需要转义,因为它们有特殊的含义,但是我们需要字面上的<code>{</code>和<code>$</code>和<code>}</code>。免责声明:为了简洁起见,我使用了original的子字符串</p>