当我们从HTML text中提取信息时,可以发现很多信息都是有规律的,比如我们要获得网页链接url、提取网页中的IP、查询具有某种规律的字符串。正则表达式就是用于匹配具有某种规律的字符串而产生的,换句话说,正则表达式就是记录文本规则的代码。


一、正则表达式介绍

正则表达式:regular expression (RE)
正则表达式是用来简介表达一组字符串的表达式。

用途:表达文本类型的特征、同时查找替换一组字符串、匹配字符串的部分或全部


二、正则表达式语法

常用的元字符:匹配数字、英文字母、空格等字符

字符 描述
. 匹配除换行符外的任意字符
\w 匹配字母、数字、下划线或汉字,等价于[A-Za-z0-9]
\s 匹配任意的空白符(space)
\d 匹配数字(digit)
\b 匹配字符串的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束

常用的限定符:指定重复次数

语法 描述
? 前一字符0次/1次重复
+ 前一字符1次或多次重复
* 前一字符任意次数重复
{n} 扩展前一字符n次
{n, } 扩展前一字符n次或更多次
{m, n} 扩展前一字符m 到 n次

常用反义代码:排除某些字符

语法 描述
\W 匹配非字母、数字、下划线或汉字的字符
\S 匹配任意不是空白符的字符
\D 匹配任意非数字的字符
\B 匹配非单词开否/结尾的位置
[^x] 匹配除了x意外的字符
[^abc] 匹配非a非b非c的单个字符

其他常用的操作符

操作符 描述
\ 转义字符,如\*匹配* ,\\匹配\
[] 字符集,对某个字符给出取值范围
| 左右表达式任意一个 abc|cba 表示abc或cba
() 分组标记,内部只能有 |

贪婪匹配 与 最小匹配
贪婪:正则表达式尽可能匹配更多的字符,如:用a.b匹配aabab将得到aabab
懒惰:需要尽可能少的匹配,可以在它后面加上一个问号?。如:用a.
?b取匹配aabab得到aab

语法 描述
*? 重复若以此,但尽可能少重复
+? 重复1次或更多次,但尽可能少重复
?? 重复0或1次,但尽可能少重复
{n, m}? 重复n到m次,但尽可能少重复
{n, }? 重复n次以上,但尽可能少重复

三、正则表达式运算符的优先级

正则表达式从左到右进行运算,并遵循优先级顺序。不同优先级运算时先高后低。

运算符优先级表

运算符 描述
\ 转义符
(), (?: ), (?=), [] 圆括号与方括号
*, +, ?, {n}, {n, m} 限定符
^, $, \如何元字符、如何字符 位置和字符匹配
| 或操作

四、正则表达式举例

easy:

RE strings
python+ “python”, “pythonn” “pythonnn”…
py[th]on “pyton”, “pyhon”
py[^t]?hon “pyhon”, “pyahon”, “pybhon”…
py{:2}thon “pthon”, “pyhon”, “pyython”

complex:

RE strings
2[0-4]\d 匹配数字字符串200-249
^[A-Za-z]+& 英文字母字符串
^-?\d+& 整数字符串(正负数)
^[1-9][1-9]*$ 正整数字符串
[\u4e00-\u9fa5] 匹配中文字符
\d{3}-\d{8}|\d{4}-\d{7} 电话号码:0731-6666666

第七篇python爬虫学习笔记完结啦 cheers ??
ps:正则表达式30分钟入门
参考内容:https://www.bilibili.com/video/av9784617/?p=39

Python爬虫学习 7 —— 正则表达式相关推荐

  1. python爬虫正则表达式实例-python爬虫学习三:python正则表达式

    python爬虫学习三:python正则表达式 1.正则表达式基础 a.正则表达式的大致匹配过程: 1.依次拿出表达式和文本中的字符比较 2.如果每一个字符都能匹配,则匹配成功:一旦有匹配不成功的字符 ...

  2. Python爬虫学习系列教程

    大家好哈,我呢最近在学习Python爬虫,感觉非常有意思,真的让生活可以方便很多.学习过程中我把一些学习的笔记总结下来,还记录了一些自己实际写的一些小爬虫,在这里跟大家一同分享,希望对Python爬虫 ...

  3. Python爬虫学习系列教程-----------爬虫系列 你值的收藏

    静觅 » Python爬虫学习系列教程:http://cuiqingcai.com/1052.html 大家好哈,我呢最近在学习Python爬虫,感觉非常有意思,真的让生活可以方便很多.学习过程中我把 ...

  4. Python 爬虫学习 系列教程

    Python爬虫 --- 中高级爬虫学习路线 :https://www.cnblogs.com/Eeyhan/p/14148832.html 看不清图时,可以把图片保存到本地在打开查看... Pyth ...

  5. Python爬虫学习框架介绍

    对于初学者来说,摸索清楚一个领域的知识体系往往比单纯学习某个技术要重要得多,因为技术总会跟随时代发生快速变化,而知识体系往往变化较小,今天我们以自学的角度来了解一下Python爬虫的知识体系吧. 一. ...

  6. Python爬虫学习总结

    Python爬虫学习总结 一.前提 请求网站并提取数据的自动化程序, 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的 ...

  7. python爬虫学习14

    python爬虫学习14 这里写目录标题 python爬虫学习14 get 请求 简单的GET请求 附加信息的GET请求 返回值的类型 抓取网页 抓取二进制数据 添加请求头 get 请求 简单的GET ...

  8. Python爬虫学习之数据提取(Beautiful Soup)

    Python爬虫学习之数据提取Beautiful Soup 前期回顾 概述 解析器 准备工作 实例 节点选择器 方法选择器 find_all find 总结 前期回顾 Python爬虫学习之reque ...

  9. Python爬虫学习①:

    Python爬虫学习①: 前言:本文系根据唐松<Python网络爬虫从入门到实践>书籍进行学习和整理 Python 爬虫的流程分为了三部分 ①:获取网页:给网址发送一个请求,该网址返回整个 ...

最新文章

  1. Apache JMeter2.13 实战
  2. 学习web前端难不难
  3. Java实用教程笔记 类与对象
  4. 《Android开发从零开始》——16.Service学习(2)
  5. php获取http头信息,php如何获取http头信息
  6. .NET语言的编译过程:中间语言(IL)和即时编译器(JIT)
  7. 清除string内容_python爬取哔哩哔哩网页弹幕内容,并将爬取的内容以五角星的形式显示出来...
  8. 云麦体脂秤华为体脂秤_华为、小米和有品体脂秤哪个品牌好?三款智能体脂秤横评结果排行...
  9. 【华为云技术分享】云容器引擎 CCE权限管理实践
  10. ctfshow-萌新-web13( 利用代码执行漏洞获取网站敏感文件)
  11. 独立站卖家不可缺的推广引流?
  12. itex将html转成pdf加水印,Springboot 中集成itextpdf HTML转PDF并添加水印(支持中文)
  13. javascript 快速入门
  14. 手把手教你开发微信小程序自定义底部导航栏
  15. asp企业建站系统 最新推出的 免费下载
  16. 热血格斗场和冷血格斗场
  17. 《前端单位和网络地址》随手学习笔记
  18. 程序“媛”公号,越来越少了,这次推荐俩,轻拍!
  19. 微信小程序Taro + React开发实践
  20. R plot图片背景设置为透明_一文学会网络分析——Cooccurrence网络图在R中的实现...

热门文章

  1. C++小作业-设计一个用于人事管理的People(人员)类
  2. 实时时钟DS1302-第1季第14部分-朱有鹏-专题视频课程
  3. 2020年第十七届中国研究生数学建模竞赛B题 -解题思路
  4. chatGPT的49种应用场景,双AI生成二次元仙女,及各开发语言对接chatGPT参考指南
  5. ValueError: Expected parameter scale of distribution Normal to satisfy the constraint GreaterThan
  6. 静态检测工具STATIC以及静态分析的必要性
  7. 贝尔商道赚钱思维36道第25道:流传千年的赚钱秘密
  8. UC伯克利提出AIGC图像编辑新利器InstructPix2Pix,AI模型P图更加精细
  9. python读xml文件生成.h头文件_PYTHON读写xml文件的方法
  10. 汽车之家运维团队倾力打造的配置管理系统AutoCMS