#分组 ()
print(re.findall("(ad)/(vv)","adddad/vvdddddddddd"))
print(re.findall("(ad)/(d)","ad/ddad/vvdddddddddd"))
print(re.findall("(a)(d)","adddad/vvdddddddddd")) #分组中间要有个字母和特殊符号隔开
print(re.findall("(ad)/d(da)","ad/ddad/vvdddddddddd"))
print(re.search("(a)g(b)","adagbgdagbhagb").group())
print(re.findall("(a)g(b)","adagbgdagbh"))
ret = re.search("(?P<id>\d{2}):(?P<name>\w{2})","25:a5")
print(ret.group()) #25:a5
print(ret.group("id")) #25
print(ret.group("name")) #a5
print(re.search("a[bf]c","abcd").group()) #abc 字符串型
print(re.findall("a[bf]c","abcd")) #['abc'] 列表型
# |
print(re.findall("a|b","afbgh")) #['a', 'b'] 需要匹配所有的a和b
print(re.search("a|b","gaafbghagdbg").group()) #a 只需要匹配所有的a和b
print(re.search("(ab)|f","gaabfbghagdbg").group()) #ab
print(re.search("\d|gg","ds125ffgg").group()) #1