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

python正则表达式

难度初级
时长 1小时29分
学习人数
综合评分9.40
210人评价 查看评价
9.7 内容实用
9.4 简洁易懂
9.1 逻辑清晰

最赞回答 / 为何_
小括号代表使用了分组,正则语法就是这样,不必纠结.就像python遇到xxx()就知道是调用函数一样.\1 等于 前面括号里的匹配规则,就相当于  ([\w]+>)\1  =  ([\w]+>)[\w]+>两次这个匹配规则.你可以理解成\1是个变量,保存了前面括号里的匹配语法并使用  即 \1 = (匹配语法),   使用\1 就是使用括号里语法    有帮助的话请给个最佳回答

最新回答 / qq_DgenerationX_1
当然 我目前还在用windows 其他系统不清楚
这个老师讲课不行,听的不太懂啊

最新回答 / 大龙猫_
网页更新了,你可以这样写:r'src=//.+\.jpg' , buf 先把//双斜杠打头的这些给抓出来,再在前面加上  added_str = 'http:'再操作就行了
老师的英文水平真的.........

最新回答 / weixin_幕布斯4509610
这表示一个编译好的正则表达式当然你也可以这样写re.macth(正则表达式,字符串)
渣渣程序员的变量名定义,唉
老师,可不可以加上字幕?谢谢
ma = re.match(r'(<)([\w]+>)\1\2', '<book><book>') 等价于 ma = re.match(r'(<)([\w]+>)<book>', '<book><book>')
print(ma.groups())
# ('<', 'book>') \1 表示< \2 表示 book>
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中级课程 1、本课程在linux讲解,最好有linux开发环境 1、熟练掌握Python开发语言基础语法
老师告诉你能学到什么?
1.正则表达式基本语法 2.使用re模块处理文本

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消