如何检查一个字符串在Python中是否至少包含一个字母和一个数字?

在python中检查此问题最简单的方法是使用正则表达式。为了检查给定的字符串是否至少有一个字母和一个数字,我们使用re.match(regex,string)。

 例

import re
print(bool(re.match('^(?=.*[0-9]$)(?=.*[a-zA-Z])', 'hasAlphanum123')))
print(bool(re.match('^(?=.*[0-9])(?=.*[a-zA-Z]$)', 'some string')))

输出结果

True
False

?=语法用于在正则表达式中调用前瞻。实际上,先行者从当前位置向前看字符串,以查找给定字符串中的匹配项。您可以在<a href="http://www.rexegg.com/regex-lookarounds.html" target="_blank">此处</a>了解更多信息。

我们还可以使用简单的for循环和2个标志来检查一个字母和一个数字。 

 例

def validateString(s):
    letter_flag = False
    number_flag = False
    for i in s:
        if i.isalpha():
            letter_flag = True
        if i.isdigit():
            number_flag = True
    return letter_flag and number_flag
print validateString('hasAlphanum23')
print validateString('some string')

输出结果

这给了我们输出-

True
False
猜你喜欢