python3判断给定的字符串是否只包含字母、数字、中划线或者下划线中的一个或多个,并且以字母或数字开头

源码

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

你可能感兴趣的:(python3判断给定的字符串是否只包含字母、数字、中划线或者下划线中的一个或多个,并且以字母或数字开头)