擅长:python、mysql、java
<blockquote>
<p>I have used ASCII flag from re but I don't know what's wrong with that because it removes 'óëé,...'.</p>
</blockquote>
<p>我认为你的问题问错了。ASCII中没有字符<code>óëé</code>。请看一下这里的所有ASCII字符集,看看它有多基本:</p>
<p><a href="https://en.wikipedia.org/wiki/ASCII#ASCII_printable_code_chart" rel="nofollow">https://en.wikipedia.org/wiki/ASCII#ASCII_printable_code_chart</a></p>
<p>您使用的字符串似乎是Unicode格式的,因为它可以同时支持“محباми”和“ëé”。在</p>
<p>在这种情况下,可以使用</p>
<p><a href="http://jrgraphix.net/research/unicode_blocks.php" rel="nofollow">http://jrgraphix.net/research/unicode_blocks.php</a></p>
<p>并且只包括拉丁语(这将过滤掉阿拉伯语字符)。在</p>
<p>下面是一个例子:</p>
<pre><code>import re
s = u"مرحباми123"
# prints "123" by keeping all characters from the following ranges:
# 0020 — 007F Basic Latin
# 00A0 — 00FF Latin-1 Supplement
# 0100 — 017F Latin Extended-A
# 0180 — 024F Latin Extended-B
print ''.join(re.findall(ur'[\u0020-\u007F\u00A0-\u00FF\u0100-\u017F\u0180-\u024F]+', s))
</code></pre>