擅长:python、mysql、java
<p>仅使用<code>re.sub()</code>尝试此操作</p>
<p>输入字符串:</p>
<pre><code>s='2.3^2+3^3-√0.04*2+√4'
</code></pre>
<p>替换<code>pow()</code></p>
^{pr2}$
<p>替换<code>sqrt()</code></p>
<pre><code>s = re.sub("√(\d+(?:\.\d+)?)", "sqrt(\\1)", s)
</code></pre>
<p>输出:</p>
<pre><code>pow(2.3,2)+pow(3,3)-sqrt(0.04)*2+sqrt(4)
</code></pre>
<p><code>()</code>表示组捕获,<code>\\1</code>表示正则表达式匹配中第一个捕获的组。使用<a href="http://rick.measham.id.au/paste/explain.pl" rel="nofollow">this link</a>可以获得正则表达式的详细说明。在</p>