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"速度与激情sd",速度与激情 1) 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() .号不包括 ,但加上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-Zd_ ↩︎

  2. a-zA-Zd_ ↩︎

原文地址:https://www.cnblogs.com/mayiyi/p/14741610.html