擅长:python、mysql、java
<p>你的第一个问题可以这样回答:</p>
<pre><code>>>> import re
>>> t = "foo <bar e word> f ga <foo b>"
>>> t2 = re.sub(r"(^|\s+)(?![^<>]*?>)", " #", t).lstrip()
>>> t2
'#foo #<bar e word> #f #ga #<foo b>'
</code></pre>
<p>我添加了<code>lstrip()</code>以删除此模式结果之前出现的单个空格。如果您想使用第一个选项,只需将<code>#<</code>替换为<code><</code>。在</p>
<p>您的第二个问题可以用下面的方式解决,尽管您可能需要考虑一个列表中的<code>,</code>,比如<code>['g,', "b'"]</code>。字符串中的逗号是否应该在那里?也许有更快的方法。以下只是概念的证明。列表理解可能会取代最后一个元素,尽管这会非常复杂。在</p>
^{pr2}$