首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python基础知识之二:正则表达式常用功能细解!

Python基础知识之二:正则表达式常用功能细解!

作者头像
云飞
发布2018-09-13 17:03:51
发布2018-09-13 17:03:51
4150
举报
文章被收录于专栏:云飞学编程云飞学编程

其实正则在我的爬虫中已经用的不是很多了,用xpath的网页标签去找内容,容易理解也方便多了,但是不用正则不是因为有更好的方法,而是正则用的好用的精通很难,比如各种符号对应的方法等等,今天就把经常用的一些正则简单说说,除了一些特殊的,基本就够用了。

请点击此处输入图片描述

正则介绍

正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同;但不用担心,不被支持的语法通常是不常用的部分。如果已经在其他语言里使用过正则表达式,只需要简单看一看就可以上手了。

以上是复制网上一段,简单的说,就是它在各种语言中都存在,有自己的语法,功能非常强大,等等。

正则模块在python里面需要安装一下,cmd下输入命令:pip install re即可。使用时 import re

欢迎大家来和我一起讨论、交流的哦!

干货:findall的几种常用方法

请点击此处输入图片描述

这段代码意思是,在a变量中查找所有ui,以列表形式赋值给b。应用于计算字符出现次数。

请点击此处输入图片描述

加了个符号^表示判断如果是ss开头则返回ss,否则返回空列表

请点击此处输入图片描述

当然也有判断结尾字符的,用$标识

请点击此处输入图片描述

[]内字符分别和后面字符组合匹配,返回所有的匹配内容

请点击此处输入图片描述

这里用.代替任意字符,即可匹配字符串内v和前面的1个字符

请点击此处输入图片描述

‘d’用来匹配0-9内的1个数字返回,用’\’转义,注意是返回一个数字,比如上方的12,返回的是’1’,’2’

请点击此处输入图片描述

当然解决办法也有,用2个’\d’即可了,想匹配几位就用几个

请点击此处输入图片描述

‘d’是匹配数字,’D’表示除了数字都匹配,包括符号

请点击此处输入图片描述

‘w’ 在正则里面代表匹配从小写a到z,大写A到Z,数字0到9包含前面这三种情况,如上图

请点击此处输入图片描述

‘W’大写的话,就正好相反,匹配数字、字母之外的内容

以上2种情况都是匹配1个字符,如果要多个有2种方式,如下:

请点击此处输入图片描述

这是3个字符的

请点击此处输入图片描述

这是多个字符直到不在符合为止

以下是今天的重点了,也是我最经常用的匹配方式,划重点!

请点击此处输入图片描述

这里括号()的用法表示匹配是取括号内里面的内容,这里.*是正则贪婪匹配语法,也就是尽可能多的匹配

请点击此处输入图片描述

加个?就变成非贪婪匹配,也就是最小范围匹配了

请点击此处输入图片描述

这里,在最后加个re.I(i的大写),即忽略大小写

请点击此处输入图片描述

还一种情况是存在换行符(\n)的情况,加上re.S(大写s),即可匹配忽略换行符,也就是多行匹配了!

以上几种情况(特别是最后4种)掌握了,那基本可以搞定70%或者以上的情况,其他的方式还有很多(我都不怎么常用),就不一一举例了,大家有兴趣可以自行学习哦!

今天的分享就先到这里了~喜欢就点个赞呗~

请点击此处输入图片描述

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-03-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云飞学python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 干货:findall的几种常用方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档