正则表达式
定义:用来简洁表达一组字符串的表达式。
优势:简洁
用途:
- 表达文本类型的特征
- 同时查找或替换一组字符串
- 匹配字符串的全部或部分
使用:
编译:将符合正则表达式语法的字符串转换成正则表达式特征。
正则表达式的语法
1.构成:字符和操作符
2.常用操作符:
实例:
正则表达式: P(Y|YT|YTH|YTHO)?N
对应字符串:‘PN’、‘PYN’、‘PYTN’、‘PYTHN’、‘PYTHON’
正则表达式:PYTHON+
对应字符串:‘PYTHON’、‘PYTHONN’、‘PYTHONNN’…
正则表达式:PY[TH]ON
对应字符串:‘PYTON’、‘PYHON’
正则表达式:PY[^TH]?ON
对应字符串:‘PYON’、‘PYaON’、‘PYbON’、‘PYcON’…
正则表达式:PY{:3}ON
对应字符串:‘PON’、‘PYON’、‘PYYON’、‘PYYYON’
匹配IP地址的正则表达式:
\d+.\d+.\d+.\d+
或者:
\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}
基本使用
1.调用:import re
2.表示类型:raw string类型(原生字符串类型),表示为r’text’
例如:r’[1-9]\d{5}’
原生字符串表示不包含转义符的字符串
3…group()函数:
正则表达式中的三组括号把匹配结果分成三组
group() 同 group(0) 就是匹配正则表达式整体结果
group(1) 列出第一个括号匹配部分,group(2) 列出第二个括号匹配部分,group(3) 列出第三个括号匹配部分。
4.Re库主要功能函数:
1.re.search(pattern,string,flags=0):返回match对象
pattern:正则表达式的字符串或者原生字符串表示
string:待匹配字符串
flags:正则表达式使用时的控制标记
常用标记:
>>> import re
>>> match=re.search(r'[1-9]\d{5}','BIT 100081')
>>> if match:
print(match.group(0))
100081
>>>
2.re.match(pattern,string,flags=0):