def checkalnum(test_str: str):
if not test_str.isalnum() or len(test_str) != 8:
return False
has_digit, has_letter = False, False
for c in test_str:
if c.isdigit(): has_digit = True
else: has_letter = True
if has_digit and has_letter:
return True
return False
下面是Python社区的一个替代方案,它使用内置的
str.isalnum
和str.isdigit
函数提供一个更快的pythonic解决方案:名为
checkalnum
(“检查字符串是否包含字母数字”)的自定义函数:时间性能比较(在IPython会话中):
^{pr2}$您需要以lookahead的形式在正则表达式中添加2个条件(断言):
这里使用了两种前瞻性断言:
(?=.*[a-zA-Z])
:断言我们前面有一封信(?=.*\d)
:断言我们最后有一个数字在前面相关问题 更多 >
编程相关推荐