擅长:python、mysql、java
<p>在要分割的字符中包含<em><code>å</code>。看来你误解了分割的作用。在</p>
<p><code>re.split()</code>将在匹配characters类的任何内容上拆分单词;在您的例子中,这意味着任何<code>\W</code>匹配(任何<strong>不是</strong>字母、数字或<code>_</code>)的内容,并将字符<code>åÅäÄöÖ</code>添加到该集合中。在</p>
<p><strong>如果不想拆分这些字符,请省略这些字符:</p>
<pre><code>wordsre = re.compile(r"\W+")
</code></pre>
<p>{3}不是正则表达式的一部分。在</p>
<p>演示:</p>
^{pr2}$
<p>由于<code>\w</code>是<code>\W</code>的反义词,您也可以使用<code>re.findall()</code>代替{<cd2>},使用{<cd7>}模式提取单词,而不是删除非单词字符:</p>
<pre><code>>>> re.findall(r'\w+', mytext)
['hej', 'och', 'gå', 'Med', 'en', 'katt', 'som', 'leker', '9', 'liv']
</code></pre>
<p>另一个好处是现在没有尾随的空字符串。在</p>
<p>同样,当使用Unicode模式时,<em>所有</em>字母都包括在内,字符集不仅仅限于ASCII字母字符。在</p>