【发布时间】:2014-05-08 16:18:31
【问题描述】:
我正在尝试解析文本并确定它是否仅包含字母和数字,而不是特殊的键盘符号,例如!和 #。我尝试使用 .isalpha,但它说!和 # 是有效的。如果遇到这些符号之一,我是否可以让某些东西返回 false?
【问题讨论】:
-
>>> '!'.isalpha() False提问时说谎并不是获得答案的最佳方式...
我正在尝试解析文本并确定它是否仅包含字母和数字,而不是特殊的键盘符号,例如!和 #。我尝试使用 .isalpha,但它说!和 # 是有效的。如果遇到这些符号之一,我是否可以让某些东西返回 false?
【问题讨论】:
>>> '!'.isalpha() False 提问时说谎并不是获得答案的最佳方式...
使用正则匹配:
import re
print re.match(r'^\w+$',your_string).group(0)
仅当它是字母数字时才匹配整个字符串
>>> print re.match(r'^\w+$', '1kjh2431k2j43').group(0)
'1kjh2431k2j43'
>>> print re.match(r'^\w+$', 'hjs7*Y@#kha9Y*@#').group(0)
NoneType
【讨论】:
可以检查字符的序数是否在字符范围内,认为范围是 65-90ish 然后 95-122ish,然后只需检查 .isdigit() 以查看数字是否为数字
【讨论】: