首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python爬虫技术:正则表达式的使用

正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。在进行字符串的相关处理的时候,正则表达式将是一个基础的工具。

python当中使用正则表达式极其容易,因为python提供了正则表达式专门的模块----re模块。re模块提供了许多函数,可以帮助你实现各种各样的功能。

接下来我们简单介绍下如何使用python中的re模块,主要说一说常用的函数。

python中匹配时最常用的函数re.findall(pattern,string,flags):有三个参数,前两个是必须给定的,第三个参数是可选参数。功能是在字符串string中寻找和模式pattern匹配的所有子串,这些子串会构成一个列表返回给你。如果没有匹配的任何子串,将会返回空列表。

其中,我们重点说说pattern。pattern是你要给定的模式串,规定这样一个模式需要你了解一定规则。

python中最常用的模式pattern规则:

“.”:可以匹配任意一个字符。

“(re)”:匹配括号内的表达式,也表示一个组。

“\w”:匹配数字、字母和下划线。

“\W”:匹配非数字、字母和下划线。

“\d”:匹配数字。

“\D”:匹配非数字。(只要记住:小写字母和大写字母匹配的内容是互斥的。)

“re+”:代表re出现一次或多次。(至少出现一次)

“re*”:代表re出现零次或多次。(至少出现零次)

“re?”:代表可能出现零次或一次。(要么不出现,要么仅出现一次)

“a|b”:匹配a或者b。

然后,就是最后一个参数flags,可以用来控制匹配的模式。

比如,我们匹配一个字符串是否符合邮箱格式,我们的python程序可以这样写:

re.findall(r'.+@.*\.com', string)

python中替换字符串中的匹配项的函数re.sub(pattern,repl,string,count,flags):五个参数。其中pattern依然是模式串,repl是替换的字符串,string是原始字符串,count是替换的最大次数(0代表替换所有匹配),flags是匹配模式之前介绍过。前三个是必选参数,后两个是可选参数。

比如,我们要把一个字符串中的非数字部分删掉,我们的python程序可以这样写:

num = re.sub(r'\D', "", string)

到此,我们的分享结束~欢迎大家一起探讨~

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210119A0985V00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券