擅长:python、mysql、java
<p>只是为了澄清这个问题。尽管所有这些链接都指向<code>re.M</code>,但在这里它不会工作,因为简单地浏览一下它的解释就会发现。如果不尝试解析html,当然需要<code>re.S</code>:</p>
<pre><code>>>> doc = """<table border="1">
<tr>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
</tr>
<tr>
<td>row 2, cell 1</td>
<td>row 2, cell 2</td>
</tr>
</table>"""
>>> re.findall('<tr>(.*?)</tr>', doc, re.S)
['\n <td>row 1, cell 1</td>\n <td>row 1, cell 2</td>\n ',
'\n <td>row 2, cell 1</td>\n <td>row 2, cell 2</td>\n ']
>>> re.findall('<tr>(.*?)</tr>', doc, re.M)
[]
</code></pre>