擅长:python、mysql、java
<p>您可能想启用DOTALL标志,或者使用<code>search</code>方法而不是<code>match</code>方法。即:</p>
<pre><code># DOTALL makes . match newlines
re_UNSUB_amsterdam = re.compile(".*UNSUBSCRIBE.*", re.UNICODE | re.DOTALL)
</code></pre>
<p>或者:</p>
^{pr2}$
<p>这将给你不同的结果,但两者都应该给你匹配。(看看你想要哪一种类型。)</p>
<p>顺便说一句:你似乎把编码文本(字节)和解码文本(字符)搞混了。这并不少见,尤其是在3.x之前的Python中。尤其值得怀疑的是:</p>
<pre><code>ISO_8859_2_encoded = rawdata.decode('ISO-8859-2')
</code></pre>
<p>您使用的是ISO-8859-2进行的<strong>de</strong>编码,而不是<strong>en</strong>编码,因此将此变量称为“decoded”。(为什么不“ISO__2_解码”?因为ISO__2是一种编码。解码后的字符串不再有编码。)</p>
<p>剩下的代码试图在rawdata和UTF_8_编码(两个编码字符串)上进行匹配,而它可能应该使用解码的unicode字符串。在</p>