电子说
(一)正则表达式:
通用的字符串表达框架;
简洁表达一组字符串的表达式;
针对字符串表达“简洁”和“特征”思想的工具;
判断某字符串的特征归属;
正则表达式在文本中的常见作用:
表达文本类型的特征(病毒);
同时查找或替换一组字符串;
匹配字符串的全部或部分;
正则表达式的使用:
编译:将符合正则表达式语法的字符串转换成正则表达式特征。
(二)正则表达式的语法
(三)正则常用的操作符
(四)正则表达式实例
(五)re库的主要功能函数
正则表达式的表示类型
(1)raw string 类型(原生字符串类型)
re库采用raw string类型表示正则表达式,表示为 r’text’。
例如:大陆地区的邮政编码: r’[1-9]\d{5}’
国内的电话号码: r’\d{3}-\d{8}|\d{4}-\d{7}’
原生字符串类型是不包含转义符的字符串。
(2)string 类型,更加繁琐
例如’[1-9]\\d{5}’
’\\d{3}-\\d{8}|\\d{4}-\\d{7}’
所以当正则表达式包含转义字符时,使用raw string 。
1、re.search(pattern,string,flags=0)
在一个字符串中搜索匹配正则表达式的第一个位置,返回match对象。
pattern:正则表达式的字符串或原生字符串的表示;
string:带匹配字符串;
flags:正则表达式使用时的控制标记;
代码
2、re.match(pattern,string,flags=0)从一个字符串的开始位置起匹配正则表达式,返回match对象
3、re.findall(pattern,string,flags=0)
搜索字符串,以列表类型返回全部能匹配的子串。
4、re.split(pattern,string,maxsplit=0,flags=0)
将一个字符串按照正则表达式匹配结果进行分割,返回列表类型。
maxsplit:最大分割数,剩余部分作为最后一个元素输出。
5、re.finditer(pattern,string,flags=0)
搜索字符串,返回一个匹配结果的迭代类型,每个迭代元素是match对象。
6、re.sub(pattern,repl,string,count=0,flags=0)
在一个字符串中替换所有匹配正则表达式的子串,返回替换后的字符串。
Pattern:正则表达式的字符串或原生字符串表示;
Repl: 替换匹配字符串的字符串;
String:待匹配的字符串;
Count:匹配的最大替换数;
(六)re库的另一种用法
(七)match对象
1、match对象的属性
2、match对象的方法
(八)re库的贪婪匹配和最小匹配
Re库默认采用贪婪匹配,即输出匹配最长的字符串。
1、最小匹配操作符
全部0条评论
快来发表一下你的评论吧 !