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

python正则表达式

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

已采纳回答 / qq_慕桂英3283314
因为re.search函数里‘str1’表示的是字符串str1,而不是你上面定义的字符串变量str1,改为re.search(r'\d+',str1)就可以了。

已采纳回答 / 阿德罗斯
直接写入,你保存的就是一个地址,打开在读取之后保存的才是图片

已采纳回答 / redrose2100
\1表示使用编号为1的分组,在前面有个括号([\w]+>) 这个括号内的就表示是编号为1的分组,如果这个正则表达式中有多个括号,就是说有多个分组,然后想复用第n个分组,就加一个\n,就OK了,不知道有没有说清楚

已采纳回答 / SilverTown
py文件要和你找的这个imooc.txt在同一个路径下,才可以直接找到,否则要用文件路径

已采纳回答 / 慕尼黑7825836
正则表达式在进行数量匹配时有{},+,*,?其中.*代表匹配除换行符以外的任意字符任意次,可以是0次。.代表除换行符以外的任意字符,*代表任意次,相当于{0,}
后边多一个?表示懒惰模式。必须跟在*或者+后边用.*? 是懒惰匹配,一旦匹配到第一个就不往下走了。.*+是无限匹配直到最后一个。

已采纳回答 / 芳芳菲菲
可以在req = urllib2.urlopen('http:'+url)上面 print 'http:'+url, 就会发现问题所在。listurl = re.findall(r'//.+\.jpg*',buf)这个地方的正则错误,应该使用非贪婪匹配模式,改为listurl = re.findall(r'//.+?\.jpg',buf),即可。

已采纳回答 / 小酸梨ss
因为第一个字符是字母不是数字,所以没有匹配成功

已采纳回答 / 慕尼黑8959533
listurl = re.sub(r'src="','http:',str(listurl))的这一步结果是一个str,还需要再将地址匹配出来,多写一步:listurl = re.findall(r'http:.+?\.jpg'),这样得到的结果是list

已采纳回答 / qq_爱吃羊的鲸鱼_0
\1就是代表了前面“([\w]+>)”这些内容,你将\1替换掉就成了ma=re.match(r'<([\w]+>)[\w]+</([\w]+>)','<book>python</book>')  其中括号已经没有意义,去掉后就变成ma=re.match(r'<[\w]+>[\w]+</[\w]+>','<book>python</book>')  这样看就应该没问题了吧。后面加1匹配不出来的原因也是应为&...

已采纳回答 / Poison丶刺心
[1-9]?[0-9]:这个里面是两个部分[1-9]?和[0-9]第一部分:是匹配1到9之间的数字出现0次或1次第二部分:是匹配0到9之间的数字至少出现一次所以匹配‘09’这个字符串的时候,第一部分中不包含‘0’这个字符串,暂时的匹配结果为‘’(即空字符串),所以执行第二部分,第二部分包含‘0’,暂时的匹配结果为‘0’,匹配结束,输出结果‘0’

已采纳回答 / 慕斯卡5018863
这个涉及写的时候URL重定向类似的问题,没影响的,是网页本身的问题,和你爬的没关系。

已采纳回答 / 赖lai
我猜,打开最新的链接是这样的http://www.imooc.com/course/list?sort=last,如果链接没有参数sort=last的话,慕课网就默认返回的是最热的显示内容吧,毕竟通过最热,可以让用户更好的找到当前热门的自己喜欢的课程吧

已采纳回答 / qq_AI小艾_0
应该是网页的代码有变化了。我的参考代码是这样的!:import reimport requestsimport osdef geturl():    if not os.path.exists("D:\\IMMOC"):        os.makedirs("D:\\IMMOC")    count=1    res=requests.get('http://www.imooc.com/course/list')    re_search=re.findall(r'src=.*\.jpg',res.te...

已采纳回答 / 隔壁码农老唐
listurl = re.findall(r'http.+?\.jpg', buf) 改成非贪婪模式就行了

已采纳回答 / 慕粉3606827
我自己试了一下,发现会读取出这种如图1的结果,我个人猜测是因为在正则表达式中使用了+这个贪婪模式的字符,所以会尽量匹配多的字符,所以看图中就知道,它把两个地址的字符串都匹配进...
首页上一页123下一页尾页
课程须知
本课程是Python中级课程 1、本课程在linux讲解,最好有linux开发环境 1、熟练掌握Python开发语言基础语法
老师告诉你能学到什么?
1.正则表达式基本语法 2.使用re模块处理文本

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消