网络爬虫与信息提取--正则表达(三)

看了正则表达式的基础,发现正则表达式好像并没有很难~

(一)正则表达式的概念

以下图片来源于中国大学mooc嵩天老师的课件

regular expression regex Re

用来简洁表达一组表达式的方式;
通用的字符串表达框架;
针对字符串表达“简洁”和“特征”思想的工具

在文本处理中十分常用:
1.表达文本类型的特征(病毒、入侵等)
2.同时查找或替换一组字符串
3.匹配字符串的全部或者部分

正则表达式的使用:
编译:将符合正则表达式语法的字符串转化成正则表达式特征。

(二)正则表达式的语法

由字符和操作符组成
在这里插入图片描述

在这里插入图片描述
**加粗样式

在这里插入图片描述
在这里插入图片描述

关于例中简单小结:
1.如果字符串无长度限制,要以^开始,以$结束
2.任意位置的字符内容任意,且可有可无,用*
3.任意位置的字符内容任意,且某位置的字符内容任意且必须存在,用+
4.对于正整数的正则表达式
比较有意思,正整数不能为0
总有一个位置不能为0,该位置前面或者后面是否有0或者是否有值都ok
5.ip地址以点分隔,最后一个不含点

re库的基本使用

表示类型

re是python的标准库,主要用于字符串匹配
import re

re 有raw string和 string两种表示类型
raw string :r"text", 该类型不包含对转义符再次转义的字符串
一些字母前加""来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符
string:当字符串包含转义符\时,用\表示
所以,在文件路径中 如果不用r就用\
建议:正则表达式包含转义符时,建议使用raw string

主要功能函数及等价函数

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

主要功能函数介绍:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
第一个结果返回空值
去除if语句,第二个结果返回错误,match没有group的属性
第三个结果换了100081和bit的位置则返回出结果

match和search的区别:

match()函数只检测字符串开头位置是否匹配,匹配成功才会返回结果,否则返回None。

search()函数会在**整个字符串内查找模式匹配,**只到找到第一个匹配然后返回一个包含匹配信息的对象,该对象可以通过调用group()方法得到匹配的字符串,如果字符串没有匹配,则返回None。

总结:
如果对匹配的结果进行使用 ,一定要用if语句判断match的结果是不是空的,如果是空的,就不能调用后面的方法。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

match对象介绍

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

re库的贪婪匹配和最小匹配

如果在匹配中,待匹配字符串包含多个正则表达式的字符串,则输出匹配最长的子串
即贪婪匹配。
想要匹配最小的,可以在操作符后增加?
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

小结

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值