python3爬虫——正则表达式re详解(1)
来源:互联网 发布:js调用相册 编辑:程序博客网 时间:2024/05/22 05:26
(一)什么是正则表达式
还早呢过这表达式是对字符串操作的一种逻辑公式,就是用实现定义好的一些特定的字符,及这些特定的字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑
ps:正则表达式非python独有,使用re模块即可实现
(二)案例
re.match
语法格式:re.match(pattern,string,flag=0)
最常规的匹配:
最常规的匹配,表示匹配的结果为最原始的,中规中矩的匹配出结果
代码展示:
import recontent = 'Hello 123 4567 World_This is a Regex Demo'print(len(content))result = re.match('^Hello\s\d\d\d\s\d{4}\s\w{10}.*Demo$', content)print(result)print(result.group())print(result.span())
知识点:
(1).group()表示的是返回正则匹配的结果
(2).span()表示返回正则匹配的范围
泛匹配
泛匹配,表示将正则匹配的字符缩短,但得到的是何上方一样的
结果
代码展示:
import recontent = 'Hello 123 4567 World_This is a Regex Demo'result = re.match('^Hello.*Demo$', content)print(result)print(result.group())print(result.span())
知识点:
(1) .* 可以匹配出除去换行以外的任意字符
匹配目标
匹配目标就是将需要的字符匹配出来
代码展示:
import recontent = 'Hello 1234567 World_This is a Regex Demo'result = re.match('^Hello\s(\d+)\sWorld.*Demo$', content)print(result)print(result.group(1))print(result.span())
知识点:
(1)()匹配括号内的表达式,也表示一个组
(2)+ 匹配1个或多个的表达式
* 匹配0个或多个的表达式
(3).group(1)—输出第一个带有()的目标
贪婪匹配
在贪婪匹配中匹配出来的结果有可能不是我们想要的结果
import recontent = 'Hello 1234567 World_This is a Regex Demo'result = re.match('^He.*(\d+).*Demo$', content)print(result)print(result.group(1))
非贪婪匹配
代码展示:
import recontent = 'Hello 1234567 World_This is a Regex Demo'result = re.match('^He.*?(\d+).*Demo$', content)print(result)print(result.group(1))
知识点:? 匹配0个或1个由前面的正则表达式定义的片段,为非贪婪方式,匹配尽可能少的字符
匹配模式
当出现换行的时候,.*?*是不适用的,这时
我们需要使用re.s来实现,这样.*就可以代表换行了
代码展示:
import recontent = '''Hello 1234567 World_Thisis a Regex Demo'''result = re.match('^He.*?(\d+).*?Demo$', content, re.S)print(result.group(1))
转义
当有些转移字符出现在字符串中,需要使用’\’来消除他的另外一种含义
代码展示:
import recontent = 'price is $5.00'result = re.match('price is \$5\.00', content)print(result)
ps:以上均为学习崔庆才python3爬虫的学习笔记
阅读全文
0 0
- python3爬虫——正则表达式re详解(1)
- python3爬虫(二) re模块与正则表达式
- 爬虫学习笔记(三)——Re正则表达式
- Python3 re(正则表达式)
- Python3 re(正则表达式)
- 网络爬虫系列笔记(1)——Re库、正则表达式
- python爬虫入门(1) 基础知识 ; 正则表达式 Re 模块
- 爬虫---正则表达式:re库
- 正则表达式——RE
- Python爬虫实践(八):正则表达式re模块(2)
- 正则表达式 python3.x (re模块)
- Python3的正则表达式,re模块
- Python3正则表达式(二)re模块
- python——爬虫学习——正则表达式与Re库-(4)
- python爬虫之re正则表达式库
- [笔记]python爬虫:正则表达式库re
- 正则表达式(RE)
- 正则表达式 (re包)——python(快餐)
- arm汇编指令之数据块传输(LDM,STM)详见
- MySql WorkBench数据库备份与恢复
- Android 网络图片加载5种模式
- 分段函数
- 【JavaScript学习】事件:事件处理程序
- python3爬虫——正则表达式re详解(1)
- 分析经典的木马
- sql server 数据库导出表里所有数据成insert 语句
- 下拉刷新 上拉加载的 ListView RecycleView ScorllView
- twemproxy安装使用
- 【linux】交叉编译器arm-linux-gcc
- Delphi 画布或者窗体实时刷新时会出现闪烁的效果
- 第十一讲:重载
- Azure 中虚拟机的区域和可用性