我们继续前面的内容
示例3:*强调内容*
需求:匹配出<hl>qwe</hl
可以用其他方式匹配出来,但是这个方法前后<>里不同也是可以的
import re
citing = re.match("<[a-zA-Z]*>\w*</[a-zA-Z]*>", "<hl>qwe</hl>").group()
print(citing)
输出:<hl>qwe</hl>内容
所以我们来试试加 \ 的方法
import re
citing = re.match(r"<([a-zA-Z]*)>\w*</\1>", "<hl>qwe</hl>").group()
print(citing)
输出:<hl>qwe</hl>内容
import re
citing = re.match(r"<([a-zA-Z]*)>\w*</\1>", "<hl>qwe</hlfasfda>").group()
print(citing)
就会出现的错误:
Traceback (most recent call last):
File "E:/chen/课件/re_正则1.py", line 57, in <module>
citing = re.match(r"<([a-zA-Z]*)>\w*</\1>", "<hl>qwe</hlfasfda>").group()
AttributeError: 'NoneType' object has no attribute 'group'
Process finished with exit code 1
示例4:\number
import re
citing = re.match(r"<(\w*)><(\w*)>.*</\2></\1>", "<html><a>www.baidu.com</a></html>").group()
print(citing)
输出:<html><a>www.baidu.com</a></html>
示例5:(?P<name>) (?P=name)
import re
citing = re.match(r"<(?P<name1>\w*)><(?P<name2>\w*)>.*</(?P=name2)></(?P=name1)>", "<html><h1>www.baidu.com</h1></html>").group()
print(citing)
输出:<html><h1>www.baidu.com</h1></html>
re模块的高级用法 :search
import re
citing=re.search(r”\d+”, “阅读次数为 564”).group()
print(citing)
输出:456
findall
统计出a,b,c出现的数字
import re
citing=re.findall(r"\d+", "a = 2121, b = 3369 c = 61564")
print(citing)
['2121', '3369', '61564']
sub 将匹配到的数据进行替换
import re
citing=re.sub(r"\d+", '5', "xiaoming = 457")
print(citing)
xiaoming = 5