正则表达式 匹配点号_【Python基础】Python正则表达式,从入门到实战,精华都在这里!...

本文详细介绍了正则表达式的基本概念、应用场景,并通过Python的re模块展示了match、search、findall、sub和split等方法的使用。此外,还探讨了贪婪与非贪婪模式的区别,并提供了一个基于正则表达式的简单网页爬虫示例,用于提取网页中的标题、作者和简介信息。
摘要由CSDN通过智能技术生成

  出品:Python数据之道(ID:PyDataLab)

作者:Peter,来自读者投稿

编辑:Lemon

玩转正则表达式

本文中介绍的是主要是 3 个知识点:

  • 正则表达式的相关知识
  • Python的中 re 模块,主要是用来处理正则表达式
  • 一个利用 re 模块通过正则表达式来进行网页数据的爬取和存储
3b72ecd5-8f0f-eb11-8da9-e4434bdf6706.jpeg

使用的系统 Python 版本和其他环境分别如下:

  • npython 3.7.5
  • MacOS
  • jupyter notebook
  • re   # re 模块
  • requests 2.23.0  # 发送请求

1、正则表达式

1.1 正则表达式及作用

正则表达式的英文是 regular expression,通常简写为 regex、regexp 或者RE,属于计算机领域的一个概念。

正则表达式的主要作用是被用来进行文本的检索、替换或者是从一个串中提取出符合我们指定条件的子串,它描述了一种字符串匹配的模式 pattern

目前正则表达式已经被集成到了各种文本编辑器和文本处理工具中。

1.2 应用场景

  • 验证:比如在网站中进行表单提交时,进行用户名及密码的验证

  • 查找:从给定的文本信息中进行快速高效地查找与分析字符串

  • 替换:将我们指定格式的文本进行查找,然后将指定的内容进行替换

1.3 网站

在这里介绍几个用来学习和测试正则表达式的网站:

  1. 菜鸟教程-正则表达式

https://www.runoob.com/regexp/regexp-tutorial.html

  1. 正则表达式在线测试工具

https://tool.oschina.net/regex/

  1. GoRegex.cn

https://goregex.cn/

  1. 官方re模块学习

https://docs.python.org/zh-cn/3/library/re.html

  1. 正则表达式30分钟入门教程

https://deerchao.cn/tutorials/regex/regex.htm#mission

1.4 常用字符功能

先介绍常用正则表达式中几种特殊字符的功能:

字符类
字符 含义 例子
. 匹配任意一个字符 ab.可以匹配abc或者abd
[ ] 匹配括号中的任意1个字符 [abcd]可以匹配ab、bc、cd
- 在[ ]内表示的字符范围内进行匹配 [0-9a-fA-F]可以匹配任意一个16进制的数字
^ 位于[ ]括号内的开头,匹配除括号中的字符之外的任意1个字符 [^xy]匹配xy之外的任意一个字符,比如[^xy]1可以匹配A1、B1但是不能匹配x1、y1
数量限定符
字符 含义 例子
匹配前面紧跟字符的0次或者1次 [0-9]?,匹配1、2、3
+ 匹配前面紧跟字符的1次或者多次 [0-9]+,匹配1、12、123等
* 匹配前面紧跟字符的0次或者多次 [0-9]*,不匹配或者12、123
{N} 匹配前面紧跟字符精确到N次 [1-9][0-9]{2},匹配100到999的整数,{2}表示[0-9]匹配两个数字
{,M} 匹配前面紧跟字符最多M次 [0-9]{,1},指的是最多匹配0-9之间的1个整数,相当于是0次或者1次,等价于[0-9]?
{N,M} 匹配前面紧跟字符的至少N次,最多M次 [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3},匹配IP地址,其中.号是特殊字符,需要使用转义字符\
位置相关
字符 含义 例子
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值