已采納回答 / qq_慕桂英3283314
因為re.search函數里‘str1’表示的是字符串str1,而不是你上面定義的字符串變量str1,改為re.search(r'\d+',str1)就可以了。
2020-02-02
已采納回答 / redrose2100
\1表示使用編號為1的分組,在前面有個括號([\w]+>) 這個括號內的就表示是編號為1的分組,如果這個正則表達式中有多個括號,就是說有多個分組,然后想復用第n個分組,就加一個\n,就OK了,不知道有沒有說清楚
2018-07-15
已采納回答 / 慕尼黑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
已采納回答 / 慕尼黑8959533
listurl = re.sub(r'src="','http:',str(listurl))的這一步結果是一個str,還需要再將地址匹配出來,多寫一步:listurl = re.findall(r'http:.+?\.jpg'),這樣得到的結果是list
2018-02-03
已采納回答 / 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
已采納回答 / Poison丶刺心
[1-9]?[0-9]:這個里面是兩個部分[1-9]?和[0-9]第一部分:是匹配1到9之間的數字出現0次或1次第二部分:是匹配0到9之間的數字至少出現一次所以匹配‘09’這個字符串的時候,第一部分中不包含‘0’這個字符串,暫時的匹配結果為‘’(即空字符串),所以執行第二部分,第二部分包含‘0’,暫時的匹配結果為‘0’,匹配結束,輸出結果‘0’
2017-09-10
已采納回答 / 賴lai
我猜,打開最新的鏈接是這樣的http://www.xianlaiwan.cn/course/list?sort=last,如果鏈接沒有參數sort=last的話,慕課網就默認返回的是最熱的顯示內容吧,畢竟通過最熱,可以讓用戶更好的找到當前熱門的自己喜歡的課程吧
2017-09-04
已采納回答 / qq_AI小艾_0
應該是網頁的代碼有變化了。我的參考代碼是這樣的?。篿mport reimport requestsimport osdef geturl():? ? if not os.path.exists("D:\\IMMOC"):? ? ? ? os.makedirs("D:\\IMMOC")? ? count=1? ? res=requests.get('http://www.xianlaiwan.cn/course/list')? ? re_search=re.findall(r'src=.*\.jpg',res.te...
2017-08-30
已采納回答 / 慕粉3606827
我自己試了一下,發現會讀取出這種如圖1的結果,我個人猜測是因為在正則表達式中使用了+這個貪婪模式的字符,所以會盡量匹配多的字符,所以看圖中就知道,它把兩個地址的字符串都匹配進...
2017-08-01