学习
实践
活动
专区
工具
TVP
写文章

10分钟学会python编程正则表达式,python在手,爬虫无忧!

python作为一门高级编程语言,它的定位是优雅、明确和简单。阅读Python编写的代码感觉像在阅读英语一样,这让使用者可以专注于解决问题而不是去搞明白语言本身。Python虽然是基于C语言编写,但是摒弃了C中复杂的指针,使其变得简明易学。并且作为开源软件,Python允许对代码进行阅读,拷贝甚至改进。这些性能成就了Python的高效率,有“人生苦短,我用Python”之说,是一种十分精彩又强大的语言。

百度百科上关于正则表达式的解释:

例:判断是否是手机号码

未采用正则表达式

re模块介绍

常用函数

re.match()函数:扫描整个字符串,返回从起始位置成功的匹配

语法:re.match(pattern, string, flags=0)

pattern 匹配的正则表达式;string 要匹配的字符串;flags 标志位,用于控制正则表达式的匹配方式,常见值如下:(re.I 忽略大小写;re.M 多行匹配)

re.search()函数:扫描整个字符串,并返回第一个成功的匹配(语法同上)

findall()函数:扫描整个字符串,并返回结果列表(语法同上)小编推荐一个学python的企鹅学习裙,【六九九+七四九+八五二】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

匹配单个字符

. 匹配除换行符以外的任意字符

[123abc] []是字符集和,表示匹配方括号中所包含的任意一个字符

[^ Mark] 匹配除了 Mark 这几个字母以外的所有字符,中括号里的 ^ 称为脱字符,表示不匹配集合中的字符

d 匹配数字,效果同 [0-9]

D 匹配非数字字符,效果同 [^0-9]

w 匹配数字、字母和下划线,效果同 [0-9a-zA-Z_]

W 匹配非数字、字母和下划线,效果同 [^0-9a-zA-Z_]

s 匹配任意的空白符(空格、换行、回车、换页、制表),效果同 [ ]

S 匹配任意的非空白符,效果同 [^ ]

代码块

# 对 * 进行转义,进行非贪婪匹配print(re.findall(r"//*.*?/*/", r"/* one */ /* two */ ")) # ['/* one */', '/* two */']

大家可以去写一下关于 QQ 、邮箱、电话、用户名、密码、IP地址、URL的正则表达式来练下手。

是不是很强大。

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

关注

腾讯云开发者公众号
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
腾讯云开发者公众号二维码

扫码关注腾讯云开发者

领取腾讯云代金券