源码
import re
# 判断给定的字符串是否只包含字母、数字、中划线或者下划线中的一个或多个,并且以字母或数字开头
def isNumLeters(s):
s = str(s)
if s == '':
return False
if len(s) < 2:
if re.match('^[0-9a-zA-Z]+$', s[0]):
return True
else:
return False
else:
if re.match('^[0-9a-zA-Z]+$', s[0]) and re.match('^[0-9a-zA-Z_-]+$', s[1:]):
return True
else:
return False
测试结果
# 引用
if __name__ == '__main__':
print('结果1',isNumLeters('test'))
print('结果2',isNumLeters('2te_st'))
print('结果3',isNumLeters('123-'))
print('结果4',isNumLeters('a'))
print('结果5',isNumLeters('0'))
print('结果6',isNumLeters('0r*'))
print('结果7',isNumLeters(''))
print('结果8',isNumLeters('-2test'))
print('结果9',isNumLeters('_2test'))
print('结果10',isNumLeters('*^#(@#)-'))
# 测试结果
结果1 True
结果2 True
结果3 True
结果4 True
结果5 True
结果6 False
结果7 False
结果8 False
结果9 False
结果10 False