擅长:python、mysql、java
<p>如果要避免使用正则表达式,可以使用Python集:</p>
<pre><code>allowed = set('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_0123456789')
def check(text):
return not len(set(text) - allowed)
for text in ['_success123', '!@#$%']:
print(text, check(text))
</code></pre>
<p>这会将文本转换为一组字符,并删除所有允许的字符。如果任何字符仍然存在,那么您就知道它是无效的。对于两个示例,这给出了:</p>
<pre class="lang-none prettyprint-override"><code>_success123 True
!@#$% False
</code></pre>