1.正则表达式的语法
正则表达式的常用操作符
正则表达式语法实例
经典正则表达式实例
匹配ip地址的正则表达式
2.re库的基本使用
正则表达式的表示类型
re库主要功能函数
1)re.search( )
import re
match = re.search(r'[1-9]\d{5}','BIT 100081')
if match:
print(match.group(0))
2)re.match( )
3)re.findall( )
import re
ls = re.findall(r'[1-9]\d{5}','BIT100081 TSU100084')
print(ls)
4)re.split( )
import re
ls1 = re.split(r'[1-9]\d{5}','BIT100081 TSU100084')
print(ls1)
ls2 = re.split(r'[1-9]\d{5}','BIT100081 TSU100084',maxsplit = 1)
print(ls2)
5)re.finditer( )
import re
for i in re.finditer(r'[1-9]\d{5}','BIT100081 TSU100084'):
if i:
print(i.group(0))
6)re.sub( )
import re
print(re.sub(r'[1-9]\d{5}','zipcode','BIT100081 TSU100084'))
注:在使用sub的替换时,无法替换掉“\n”换行符,需先将“\n”替换为空或者空格,再进行替换
re.compile( )
re库的另一种等价用法
3.re库的match对象
match对象的属性
match对象的常用方法
import re
m = re.search(r'[1-9]\d{5}','BIT100081 TSU100084')
print(m.string)
print(m.re)
print(m.pos)
print(m.endpos)
print(m.group(0))
print(m.start())
print(m.end())
print(m.span())
4.re库的贪婪匹配和最小匹配
Re库默认采用贪婪匹配,即输出匹配最长的子串。
import re
match = re. search(r'PY.*N','PYANBNCNDN')
print(match.group(0))
当我们需要re库的最小匹配时,只需进行如下修改:
import re
match = re. search(r'PY.*?N','PYANBNCNDN')
print(match.group(0))