python 正则表达式匹配名字

"""
匹配字符串:
.  匹配任意1个字符(除了\n)
[ ]    匹配[ ]中列举的字符
\d 匹配数字,即0-9
\D 匹配非数字,即不是数字
\s 匹配空白,即 空格,tab键
\S 匹配非空白
\w 匹配单词字符,即a-z、A-Z、0-9、_
\W 匹配非单词字符
匹配多个字符:
*  匹配前一个字符出现0次或者无限次,即可有可无
+  匹配前一个字符出现1次或者无限次,即至少有1次
?  匹配前一个字符出现1次或者0次,即要么有1次,要么没有
{m}    匹配前一个字符出现m次
{m,n}  匹配前一个字符出现从m到n次
匹配开通结尾:
^  匹配字符串开头
$  匹配字符串结尾
"""
import re


def main():

    names = ["name1", "_name", "2_name", "__name__", "name!123", "nameA", "nameZZ", "name$123"]

    for name in names:
        # ret = re.match(r"[a-zA-Z_][a-zA-Z0-9_]*", name)
        ret = re.match(r"^[a-zA-Z_][a-zA-Z0-9_]*$", name)
        if ret:
            print("变量名 %s 符合要求匹配出来的是%s" % (name, ret.group()))

        else:
            print("变量名 %s 不符合要求" % name)


if __name__ == '__main__':
    main()

你可能感兴趣的:(python 正则表达式匹配名字)