import re

a = '娜扎热巴佟丽娅'
result1 = re.match('佟丽娅',a) #match匹配开头是否符合
print(result1)

result2 = re.search('佟丽娅',a) #search查找字符串里是否有
print(result2)

print(result2.span()) #返回匹配位置
print(result2.group()) #返回匹配的内容

b = 'as2dasf23afgg5gfa6g4646gds'
bb = re.findall('as',b) #findall查找字符串中是否有,把所有匹配到的以列表形式返回
print(bb)

cc = re.findall('[a-z][0-9]+[a-z]',b)
print(cc)

qq = '1321653505'
dd = re.findall('^[1-9][0-9]{4,11}$',qq)
print(dd)


phone = '020-118114'
ee = re.match(r'(\d{3,4})-(\d{5,11})$',phone) #()就表示组
print(ee)
print(ee.group(1)) #group(1)表示第一个()
print(ee.group(2))


pa = '<html><h1>aaaaa</h1></html>'
ff = re.match(r'<(\w+)><(\w+)>(.+)</\2></\1>$',pa) #\1表示与前面第一个()内容一样,\2同理
print(ff)
print(ff.group(3))

gg = re.match(r'<(?P<name1>\w+)><(?P<name2>\w+)>(.+)</(?P=name2)></(?P=name1)>',pa)
print(gg)
print(gg.group(2))
print(gg.group(3))

x = '123a 123a 456s 64f'
hh = re.split(r'[\s]',x) #分割字符串,\s表示空格
print(hh)

ii = re.sub(r'123[a-z]','instead',x) #替换字符串中123a
print(ii)

输出结果

None
<re.Match object; span=(4, 7), match='佟丽娅'>
(4, 7)
佟丽娅
['as', 'as']
['s2d', 'f23a', 'g5g', 'a6g']
['1321653505']
<re.Match object; span=(0, 10), match='020-118114'>
020
118114
<re.Match object; span=(0, 27), match='<html><h1>aaaaa</h1></html>'>
aaaaa
<re.Match object; span=(0, 27), match='<html><h1>aaaaa</h1></html>'>
h1
aaaaa
['123a', '123a', '456s', '64f']
instead instead 456s 64f