字符:
. 匹配除换行符外所有的字符
w 匹配字母或 数字或 下划线或汉子 大写的相反
d 匹配数字 大写的相反
s 匹配空格 大写的相反
^ 匹配字符串的开头
$ 匹配字符串的末尾
次数:
* 0-多次
+ 1到多次
? 0或1次
{n} 重复n此
{n,} 重复n到更多次
{n-p} 重复n-p次
match 匹配开头 匹配成功 返回一个 不成功 返回None
无分组
origin = "hello alex bcd abcd lge acd 19" n = re.match('w+',origin) print(n.group())
有分组
origin = "hello alex bcd abcd lge acd 19" n = re.match('h(w+).*(?P<n1>d+)',origin) print(n.groups()) print(n.groupdict())
search 浏览全局 匹配第一个 没有返回None
无分组
有分组 同match
findall 匹配全局 获取非重复的匹配列表 重复则返回最后一个 匹配规则有一个组 则以字符串形式返回组里面匹配的内容 如果多个组 以列表形式返回
ret = '451alex12564 hej' r = re.findall('d+',ret) print(r) origin = "hello alex bcd abcd lge acd 19" r = re.findall("a((w*)c)(d)", origin) print(r) n = re.findall('dwd','a2b3c4d5') l = re.findall('d+wd+','a2b3c4d5') s = re.findall('d+wd+','a2345b6543') print(r) print(n) print(l) print(s)