最新回答 / superplayer
两个问题,一个是需要导入re模块;import re;另外一个是 如果用的是python3的话 print需要加括号,修改成print(m2)
2018-04-22
已采纳回答 / 慕尼黑7825836
正则表达式在进行数量匹配时有{},+,*,?其中.*代表匹配除换行符以外的任意字符任意次,可以是0次。.代表除换行符以外的任意字符,*代表任意次,相当于{0,} 后边多一个?表示懒惰模式。必须跟在*或者+后边用.*? 是懒惰匹配,一旦匹配到第一个就不往下走了。.*+是无限匹配直到最后一个。
2018-04-19
Python3.5版:
前面一样,两个地方要改一下。
i = 0
for url in urllist:
f = open(str(i)+'.jpg','wb')(这里打开要用‘wb’模式的,这样才表示二进制,直接用w会报错)
url = 'https:'+url
url = url.split(' ')[0](这里用空格把url分成两部分,取第一个就好了)
print(url)
req2 = requests.get(url)
buf = req2.content
f.write(buf)
f.close()
i +=1
前面一样,两个地方要改一下。
i = 0
for url in urllist:
f = open(str(i)+'.jpg','wb')(这里打开要用‘wb’模式的,这样才表示二进制,直接用w会报错)
url = 'https:'+url
url = url.split(' ')[0](这里用空格把url分成两部分,取第一个就好了)
print(url)
req2 = requests.get(url)
buf = req2.content
f.write(buf)
f.close()
i +=1
2018-04-10
def add1(match):
value=int(match.group())
value+=1
return str(value)
str1='num=1000,java=23,python=101'
num=re.sub(r'\d+',add1,str1)
num
value=int(match.group())
value+=1
return str(value)
str1='num=1000,java=23,python=101'
num=re.sub(r'\d+',add1,str1)
num
2018-04-07
已采纳回答 / 芳芳菲菲
可以在req = urllib2.urlopen('http:'+url)上面 print 'http:'+url, 就会发现问题所在。listurl = re.findall(r'//.+\.jpg*',buf)这个地方的正则错误,应该使用非贪婪匹配模式,改为listurl = re.findall(r'//.+?\.jpg',buf),即可。
2018-03-16
源字符串:aa<div>test1</div>bb<div>test2</div>cc
正则表达式一:<div>.*</div>
匹配结果一:<div>test1</div>bb<div>test2</div>
自行体会非贪婪。
正则表达式二:<div>.*?</div>
匹配结果二:<div>test1</div>
正则表达式一:<div>.*</div>
匹配结果一:<div>test1</div>bb<div>test2</div>
自行体会非贪婪。
正则表达式二:<div>.*?</div>
匹配结果二:<div>test1</div>
2018-03-16