python3 正则表达式

匹配单个字符

1

re.match(r"速度与激情1",速度与激情1)
返回值为对象
若想获取匹配到的值
ret = re.match(r"速度与激情\d",速度与激情1) \d为匹配一个数字
ret.group()
返回值为所有匹配到的字符

2

ret = re.match(r"速度与激情[1-8]",速度与激情1) []定义取值范围
ret = re.match(r"速度与激情[1-36-8]",速度与激情1) []跳过不连续的数值
ret = re.match(r"速度与激情[1-36-8abcd]",速度与激情1)
ret = re.match(r"速度与激情[1-36-8a-d]",速度与激情1)
ret = re.match(r"速度与激情[1-36-8a-zA-Z]",速度与激情1)

3

空白字符
ret = re.match(r"速度与激情\s\d",速度与激情\t1) \s可以匹配空格、制表符、换行符等

4

大写字符均匹配 非

5

.号 匹配任意一个字符

匹配多个字符

1

ret = re.match(r"速度与激情\d{1,4}",速度与激情12) {}限定匹配位数,1-4位数均可以 而且是必须是连续的
ret = re.match(r"速度与激情\d{11}",速度与激情12) {}限定匹配位数,必须为11位数

2

re.match(r".*",html_content,re.S).group() .号不包括\n,但加上re.S参数即可匹配

3

@符号前有4-20位字母数字下划线,如hello@163.com
ret = re.match(r"[1]{4,20}@(163|126|qq|).com$",email)

4

ret = re.match(r"[2]{4,20}@(163|126|qq|).com$",email) =>.group(1)>163 1代表第一个()内的值
re.match(r"<(\w)>.</\1>") 匹配

asdfasdf

匹配成对的值
re.match(r"(?P<变量名>\w*)(?P=变量名)")

5

re.search() 匹配一个就返回匹配的值,默认不从开头匹配
re.finall() 匹配所有 以列表返回
re.sub(r"\d+", '998' ,"python = 997", "c++=1024") 将正则满足的地方 都 替换成998字符串
'998'可以替换成函数


  1. a-zA-Z\d_ ↩︎

  2. a-zA-Z\d_ ↩︎

posted @ 2021-05-07 16:27  阿伦·艾弗森  阅读(60)  评论(0编辑  收藏  举报