擅长:python、mysql、java
<p>您需要在替换中使用原始字符串:</p>
<pre><code>str = galley/files/tew/tewt/tweqt/
re.sub('^.+/+([^/]+/$)', r"\1", str)
# ^
</code></pre>
<p>否则,将得到转义字符<code>\1</code>。例如在我的主机上,它是一个小笑脸。在</p>
<p>如果您不想对字符串进行原始处理,则必须转义反斜杠:</p>
^{pr2}$
<p>另外值得注意的是,对正则表达式字符串进行原始处理并使用一致的引号是一种很好的做法,因此我建议您使用:</p>
<pre><code>re.sub(r'^.+/+([^/]+/$)', r'\1', str)
</code></pre>
<hr/>
<p><strong>其他注意事项</strong></p>
<p>匹配(使用<code>re.search</code>)而不是使用<code>re.sub</code>可能更简单:</p>
<pre><code>re.search(r'[^/]+/$', str).group()
# => tweqt/
</code></pre>
<p>您可能希望使用<code>str</code>之外的另一个变量名,因为这将覆盖现有函数<code>str()</code>。在</p>