<p>使用<a href="https://docs.python.org/3/howto/regex.html#regex-howto" rel="nofollow noreferrer">regular expression (regex)</a>:</p>
<pre><code>>>> import re
>>> result = re.match('[a-zA-Z\s]+$', "This is text")
>>> bool(result)
True
</code></pre>
<p>分解:</p>
<ul>
<li><a href="https://docs.python.org/3/library/re.html" rel="nofollow noreferrer">^{<cd1>}</a>-Python的regex模块</li>
<li><code>[a-zA-Z\s]</code>-任何字母或空格</li>
<li><code>+</code>-上一项的一个或多个</li>
<li><code>$</code>-字符串结尾</li>
</ul>
<hr/>
<p>以上代码适用于ASCII字母。对于Python 3上的整个Unicode范围,不幸的是正则表达式有点复杂:</p>
<pre><code>>>> result = re.match('([^\W\d_]|\s)+$', 'un café')
</code></pre>
<p>分解:</p>
<ul>
<li><code>(x|y)</code>-<em>x</em>或<em>y</em></li>
<li><code>[^\W\d_]</code>-除了数字或下划线之外的任何<a href="https://docs.python.org/3/library/re.html#index-32" rel="nofollow noreferrer">word character</a></li>
</ul>
<p>从<a href="https://stackoverflow.com/users/235698/mark-tolonen">Mark Tolonen</a>的<a href="https://stackoverflow.com/a/34959724/4518341">answer</a>到<a href="https://stackoverflow.com/q/34957154/4518341">How to match all unicode alphabetic characters and spaces in a regex?</a></em></p>