python3判斷給定的字串是否只包含字母、數字、中劃線或者下劃線中的一個或多個,並且以字母或數字開頭(正規表示式)

Aman_1988發表於2020-11-02

直接上原始碼

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

相關文章