1.匹配单个字符
import re
# \d匹配一个数字
ret=re.match("速度与激情\d\d","速度与激情35")
print(ret.group())
# [12345678],[1-8]匹配1-8
ret=re.match("速度与激情[1-8]","速度与激情35")
print(ret.group())
# [1-8a-d]匹配数字字母
ret=re.match("速度与激情[1-8a-d]","速度与激情d")
print(ret.group())
# \w匹配字母,下划线(慎用)
# \s匹配空白,tab
# .可以匹配任何一个
2.匹配多个字符
import re
# {1,2}匹配一个或者两个字符
ret=re.match("速度与激情\d{1,2}","速度与激情2").group()
print(ret)
# {11}匹配11个字符
ret=re.match("\d{11}","123456789010").group()
print(ret)
# ?表示可有可无
ret=re.match("021-?\d{8}","021-12345678").group()
print(ret)
# *表匹配前一个字符示多个出现0次或无限次
html_content="""dkkk
dkkdkdkkd
dkkdk
dkkdkd
fc"""
ret=re.match(".*",html_content).group()
print(ret)
ret=re.match(".*",html_content,re.S).group()
print(ret)
# +匹配前一个字符出现1次或无限次
3.匹配开头结尾
import re
# $匹配到字符串结尾
# ^匹配字符串开头
def main():
names=["age","_age","1age","a_age","age_1_","age!","a#123","______"]
for name in names:
# 匹配变量名是否合法
ret=re.match(r"^[a-zA-Z_+][a-z0-9A-Z_]*$",name)
if ret:
print("变量名:%s符合要求,通过正则匹配出的数据是:%s"%(name,ret.group()))
else:
print("变量名:%s不符合要求"%name)
if __name__ == '__main__':
main()
4.
[^/]表示除了/字符其余字符均可
[^ ]表示除了空格其余字符均可