最新回答 / 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