擅长:python、mysql、java
<p>不可能完全逆转替换。问题是有些字符串是不明确的,例如</p>
<pre><code>value is between 5 and 7 and 10
</code></pre>
<p>有两种可能的解决方案:<code>min = "5", max = "7 and 10"</code>和<code>min = "5 and 7", max = "10"</code></p>
<p>但是,您可以使用regex获得有用的结果:</p>
<pre><code>import re
string = 'value is between 5 and 10'
template= 'value is between $min and $max'
pattern= re.escape(template)
pattern= re.sub(r'\\\$(\w+)', r'(?P<\1>.*)', pattern)
match= re.match(pattern, string)
print(match.groupdict()) # output: {'max': '10', 'min': '5'}
</code></pre>