最新回答 / superplayer
两个问题,一个是需要导入re模块;import re;另外一个是 如果用的是python3的话 print需要加括号,修改成print(m2)
2018-04-22
已采纳回答 / 慕尼黑7825836
正则表达式在进行数量匹配时有{},+,*,?其中.*代表匹配除换行符以外的任意字符任意次,可以是0次。.代表除换行符以外的任意字符,*代表任意次,相当于{0,} 后边多一个?表示懒惰模式。必须跟在*或者+后边用.*? 是懒惰匹配,一旦匹配到第一个就不往下走了。.*+是无限匹配直到最后一个。
2018-04-19
已采纳回答 / 芳芳菲菲
可以在req = urllib2.urlopen('http:'+url)上面 print 'http:'+url, 就会发现问题所在。listurl = re.findall(r'//.+\.jpg*',buf)这个地方的正则错误,应该使用非贪婪匹配模式,改为listurl = re.findall(r'//.+?\.jpg',buf),即可。
2018-03-16
最新回答 / 芳芳菲菲
因为后边的字符串'<book>'不满足前面的前面的正则要求,重点是弄明白\1是什么意思。可以做两个测试:测试1:pa = re.match(r'<([\w]+>)\1', '<book>book>')pa.groups()测试2:pa = re.match(r'<([\w]+>)', '<book>')pa.groups()
2018-03-09
已采纳回答 / 慕尼黑8959533
listurl = re.sub(r'src="','http:',str(listurl))的这一步结果是一个str,还需要再将地址匹配出来,多写一步:listurl = re.findall(r'http:.+?\.jpg'),这样得到的结果是list
2018-02-03
最新回答 / qq_鑫_4
values = re.findall(r"src.*? ", res)values = [t[len("src="):len(t) - 1] for t in values]
2018-01-24
最赞回答 / 华灯初上丶
import reimport urllibreq = urllib.request.urlopen('http://www.imooc.com/course/list')#此处加上decode(),不然拿下来的数据都是乱码buf = req.read().decode("utf-8")#老师讲课的url地址已经发生改变,改一下正则匹配就好# listurl = re.findall(r'src=.+\.jpg', buf)listurl = re.findall(r'//img.+?\.jpg', bu...
2018-01-21
已采纳回答 / 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匹配不出来的原因也是应为&...
2017-12-25