1、定义:
用来简洁表达一组字符串的表达式。
通用的字符串表达框架。
针对字符串表达简洁和特征思想的工具。
判断某字符串的特征归属。
2、作用
表达文本类型的特征(病毒,入侵等)
同时查找或替换一组字符串
匹配字符串的全部或部分。
3、使用
编译:将符合正则表达式语法的字符串转换成正则表达式特征。
4、语法
正则表达式语法是由字符和操作符构成,下面介绍正则表达式的常用操作符:
5、匹配ip地址的正则表达式
ip地址字符串形式的正则表达式(ip地址分四段,每段0-255)
6、re库的使用
re库介绍:
re库是python的标准库,主要用于字符串的匹配。
调用:import re
正则表达式的表达类型:
raw string类型(原生字符串类型)
re库采用raw string类型表示正则表达式,表示为:r'text'
例如: r'[1-9]d{5} 中国邮政编码表达式
原生字符串是不包括转义字符的字符串
string类型 更加繁琐(包括转义字符)
7、re库主要功能函数
1)、re.search(pattern,string,flags=0)
pattern:正则表达式的字符串或原生字符串表示
string:带匹配字符串
flags:正则表达式使用时的控制标记(常用的标记有)
import re search = re.search(r'[1-9]d{5}','BIT 10081') #判断search是否为空 print(search.group(0)
2)、re.match(pattern,string,flags=0)
pattern:正则表达式的字符串或原生字符串表示
string:带匹配字符串
flags:正则表达式使用时的控制标记
import re match = re.match(r'[1-9]d{5}','10081 BIT') if match: print(match.group(0)
3)、re.findall(pattern,string,flags=0)
pattern:正则表达式的字符串或原生字符串表示
string:带匹配字符串
flags:正则表达式使用时的控制标记
import re ls = re.findall(r'[1-9]d{5}','BIT10081 TSU100084') print(ls)
4)、re.split(pattern,string,maxsplit=0,flags=0)
pattern:正则表达式的字符串或原生字符串表示
string:带匹配字符串
maxsplit:最大分割数,剩余部分作为最后一个元素输出
flags:正则表达式使用时的控制标记
import re print(re.split(r'[1-9]d{5}','BIT10081 TSU100084')) #加入最大分割数 print(re.split(r'[1-9]d{5}','BIT10081 TSU100084',maxsplit=1))
5)re.finditer(pattern,string,flags=0)
pattern:正则表达式的字符串或原生字符串表示
string:带匹配字符串
flags:正则表达式使用时的控制标记
import re for m in re.finditer(r'[1-9]d{5}','BIT10081 TSU100084') if m: print(m.group(0))
6)、re.sub(pattern,repl,string,count=0,flags=0)
pattern:正则表达式的字符串或原生字符串表示
repl:替换匹配字符串的字符串
string:带匹配字符串
count:匹配的最大替换次数
flags:正则表达式使用时的控制标记
import re print(re.sub(r'[1-9]d{5}',':zipcode','BIT10081 TSU100084'))