为了账号安全,请及时绑定邮箱和手机立即绑定

python正则表达式

难度初级
时长 1小时29分
学习人数
综合评分9.40
211人评价 查看评价
9.7 内容实用
9.4 简洁易懂
9.1 逻辑清晰
ma = re.match(r'<([\w]+>)', '<book>')
print(ma.groups()) # ('book>',)

ma = re.match(r'<([\w]+>)\1', '<book>book>')
print(ma.groups()) # ('book>',)

ma = re.match(r'(<)([\w]+>)\1\2', '<book><book>')
print(ma.groups()) # ('book>',)
('book>',)
('book>',)
('<', 'book>')
“ma = re.match(r'<([\w]+>)\1', '<book>') ”中 “\1”代表的就是括号里面的分组,而括号里面的分组自身出现了一次,所以这行代码的分组一共出现了两次。但逗号后面的字符串却只包含一个分组,所以匹配失败,print(ma.groups())返回 NoneType。改为ma = re.match(r'<([\w]+>)', '<book>') 或者 ma = re.match(r'<([\w]+>)', '<book>book>') 就可以了。简而言之,\1表示的是第一个分组的复用。如果有多个圆括号,即有多个分组,那么\num代表的是第num个分组的复用。
“ma = re.match(r'<([\w]+>)\1', '<book>') ”中 “\1”代表的就是括号里面的分组,而括号里面的分组自身出现了一次,所以这行代码的分组一共出现了两次。但逗号后面的字符串却只包含一个分组,所以匹配失败,print(ma.groups())返回 NoneType。改为ma = re.match(r'<([\w]+>)', '<book>')就可以了。简而言之,\1表示的是第一个分组的复用。如果有多个圆括号,即有多个分组,那么\num代表的是第num个分组的复用。
不错哦!!!
虽然老师发音有点问题,但是课程真的是干货满满啊!!一句不落从头看到尾,收获颇丰~吐槽发音的是什么心态,真实醉了。妨碍你学知识了?
都是电脑小白吗,还在纠结环境??Python本来就是跨平台语言,哪里跑都一样,windows cmd都能跑,还在纠结虚拟机吗??老师可能只是习惯用虚拟机教学罢了
知识分类讲解很清晰。不过就是有些小细节不是很懂
好像这个完全不可以啊~~~

In [94]: ma = re.match(r'<([\w]+>)[\w]+</\1', '<book>python<book>')

In [95]: ma.group()
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
简单清晰干脆
LogA:affgh=500, com.tencent.uu.z
LogB:affgh=600, com.laun.abc

例如有两行log,需要匹配的是每行结尾处格式为“com.xxx.xxx...”的apk包名,包名长度不确定。请问该怎样写正则表达式来匹配?
老师讲的很详细不错
ma = re.match(r'<(?P<mk1>tr>).*</(?P=mk1)','<tr><td>aa</td><td>bb</td><td>cc</td></tr>')
这个可以匹配<tr>和</tr>这样形式的XML,有收获,谢谢老师
*? 不匹配 +?匹配一次 ??不匹配
为什么视频不提供加速功能?
课程须知
本课程是Python中级课程 1、本课程在linux讲解,最好有linux开发环境 1、熟练掌握Python开发语言基础语法
老师告诉你能学到什么?
1.正则表达式基本语法 2.使用re模块处理文本

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消