一、关于 re模块
????????Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。
????????re 模块使 Python 语言拥有全部的正则表达式功能。
二、常用函数
1. re.split()
split 函数按照能够匹配的子串将字符串分割后返回列表。
import re
s = '布达拉宫占地41万平方米,建筑面积13万平方米,宫体主楼13层,高115米'
a = re.split('\d+', s)
print(a)
# ['布达拉宫占地', '万平方米,建筑面积', '万平方米,宫体主楼', '层,高', '米']
2. re.sub()
用于替换字符串中的匹配项
import re
s = '布达拉宫占地41万平方米,建筑面积13万平方米,宫体主楼13层,高115米'
a = re.sub('\d+', '很多', s)
print(a)
# 布达拉宫占地很多万平方米,建筑面积很多万平方米,宫体主楼很多层,高很多米
也可以限制替换最大次数
import re
s = '布达拉宫占地41万平方米,建筑面积13万平方米,宫体主楼13层,高115米'
a = re.sub('\d+', '很多', s, 2)
print(a)
# 布达拉宫占地很多万平方米,建筑面积很多万平方米,宫体主楼13层,高115米
3.? re.subn()
用法与 re.sub() 类似,不同的是可以得到替换次数,以元组类型返回。
import re
s = '布达拉宫占地41万平方米,建筑面积13万平方米,宫体主楼13层,高115米'
a = re.subn('\d+', '很多', s)
print(a)
# ('布达拉宫占地很多万平方米,建筑面积很多万平方米,宫体主楼很多层,高很多米', 4)
和 re.sub() 一样,可以限制替换最大次数
import re
s = '布达拉宫占地41万平方米,建筑面积13万平方米,宫体主楼13层,高115米'
a = re.subn('\d+', '很多', s, 3)
print(a)
# ('布达拉宫占地很多万平方米,建筑面积很多万平方米,宫体主楼很多层,高115米', 3)
三、在python中的匹配风格
|