"""
匹配字符串:
. 匹配任意1个字符(除了
)
[ ] 匹配[ ]中列举的字符
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()