擅长:python、mysql、java
<p>您的替代品由于使用不当而无法使用回复sub方法,如果您查看文档:</p>
<pre><code>re.sub(pattern, repl, string, count=0, flags=0)
</code></pre>
<p>但是在你的代码里,你把“旗帜”放在“计数”的地方。这就是<code>re.DOTALL</code>标志被忽略的原因,因为它位于错误的位置。你知道吗</p>
<p>由于不需要使用count参数,因此可以删除<code>re.DOTALL</code>标志,改用内联修饰符:</p>
<pre><code>regstr = r'''(?s)(<a.*?)(class=['"].*?['"])([\s]*>)'''
</code></pre>
<p>然而,使用类似<a href="http://www.crummy.com/software/BeautifulSoup/bs4/doc/" rel="nofollow">bs4</a>的东西可能更方便。(如@alecxe answer中所示)。你知道吗</p>