導航:首頁 > 編程語言 > python正則匹配的數據亂碼

python正則匹配的數據亂碼

發布時間:2022-02-28 11:22:58

python 正則表達式 我想找到字元串中成對匹配的數據 請指教

針對你所給的示例字元串,貌似無法一次性地提取出後面的那個abc的,只能提取出前面的ammmmmde:
可以這樣寫:

>>> re.findall(r'(?:\d+)([a-zA-Z]+)', 'sssa 123ammmmmde234abc aaaaa 123ammmmmde234abc llll')
['ammmmmde', 'abc', 'ammmmmde', 'abc']

原因在於:正則從左往右查找,沒有在找後面的abc時,也去找到之前的abc。
因為之前的abc,被在查找ammmmmde時,藏在中間了:
123ammmmmde234abc aaaaa 123ammmmmde

搜索過了,後面沒法再搜索。

一個折中的辦法是,用:
>>> re.findall(r'(?:\d+)([a-zA-Z]+)', 'sssa 123ammmmmde234abc aaaaa 123ammmmmde234abc llll')
['ammmmmde', 'abc', 'ammmmmde', 'abc']
找到上述的
['ammmmmde', 'abc', 'ammmmmde', 'abc']
然後你自己再另外提取,組合出來你要的:
[(ammmmmde, ammmmmde), (abc, abc)]

⑵ python 正則匹配中文問題

list列印是這樣的,這是python的系統行為,改變不了。
如果不想用循環,可以用 print(u"\n".join(items))

⑶ Python正則表達式調用後出現亂碼

是抓取蘋果手機價格的吧.
別再cmd下執行了,在python自帶的idle下F5調試,然後注意下趴下來的html是不是有亂碼

⑷ 為什麼python寫的爬蟲有時候抓取的數據是亂碼

1. 使用chrome瀏覽器,打開示例頁面http://tieba..com/p/3295185529?see_lz=1
2. 在帖子標題處,右鍵選擇"審查元素",可以看到標題的源代碼

3. 進行簡單的分析,我們需要獲取的是title後面的內容,根據頁面實際內容,我們編寫相應的正則表達式:
title_re=re.compile('<h1 class="core_title_txt " title="(.*?)"')
4. 同理,我們對帖子內容進行"審查元素",得到內容的源代碼

5. 編寫相應的正則表達式如下:
content_re=re.compile('<div id="post_content_\d*" class="d_post_content j_d_post_content ">(.*?)</div>')
6. 這樣通過urllib2打開頁面後,使用上述的正則表達式進行匹配,再對標題和文本內容進行相應的處理即可

⑸ python正則匹配不到想要的數據,感覺明明是對的啊

items = re.findall(r'',pagecode,re.S)

注意在後面要加上re.S

因為是多行匹配,下面寫了一個只能抓一頁信息的簡陋版- -

-------------------------------------------------------------------------------------------

#coding:utf-8
importurllib2,re
classdown(object):


def__init__(self):
self.user_agent='Mozilla/4.0(compatible;MSIE5.5;WindowsNT)'
self.headers={'User-Agent':self.user_agent}

defgetPage(self):
try:
url='http://hdwan.net'

request=urllib2.Request(url,headers=self.headers)
response=urllib2.urlopen(request)
pageCode=response.read().decode('utf-8')
returnpageCode
excepturllib2.URLError,e:
ifhasattr(e,'reason'):
printu'連接失敗...',e.reason
returnNone


defgetCont(self):
pageCode=self.getPage()
ifnotpageCode:
printu'頁面載入失敗...'
returnNone
items=re.findall('''<h2><ahref="(.*?)"rel="bookmark"target="_blank"title="(.*?)">.*?
</a></h2>''',pageCode,re.S)
foriinitems:
printu'電影名:%s 鏈接:%s '%(i[1],i[0])


if__name__=='__main__':
spider=down()
spider.getCont()

初學者一起加油。。。。

⑹ python中如何用正則表達式匹配漢字

name = re.search(r'導演: (.*?) 主演:.*? '.encode('utf-8'),text,re.S).group(1)

⑺ Python用正則表達式匹配含有中文的字元串,匹配不到

代碼如下:

#coding=utf-8

importre
s=u'<li><aclass="nav-first"href="/">首頁</a></li>'
r=re.compile(u'<li><asclass="[^"]*"shref="[^"]">(.*?)(?=</a></li>)')
ss=r.findall(s)
forstrinss:
printstr

運行結果:

⑻ python 用正則匹配網頁中的中文字

patt=re.compile(ur'<a.*href="(.*?)".*官方下載地址1.*</a>')

⑼ python正則表達式,這樣的字元串怎麼匹配

根據提問者的問題,解答如下:

#查找所有除最後一個非zuobi姓名
xingmings=re.findall("(?isu)'([^']+?)']);cj",txt)
xingming_last=re.search("(?isu)'([^']+?)']);$",txt)
ifxingming_last:xingmings.append(xingmings[1])

第一行:查找所有滿足條件的姓名,查找結果不包括txt的最後一個;

第二行:匹配txt的最後一個;

第三行:如果最後一個滿足條件,則追加到xingmings中。

閱讀全文

與python正則匹配的數據亂碼相關的資料

熱點內容
優信二手車解壓後過戶 瀏覽:63
Windows常用c編譯器 瀏覽:780
關於改善國家網路安全的行政命令 瀏覽:835
安卓如何下載網易荒野pc服 瀏覽:656
javainetaddress 瀏覽:106
蘋果4s固件下載完了怎麼解壓 瀏覽:1005
命令zpa 瀏覽:288
python編譯器小程序 瀏覽:946
在app上看視頻怎麼光線調暗 瀏覽:542
可以中文解壓的解壓軟體 瀏覽:595
安卓卸載組件應用怎麼安裝 瀏覽:915
使用面向對象編程的方式 瀏覽:341
程序員項目經理的年終總結範文 瀏覽:932
內衣的加密設計用來幹嘛的 瀏覽:435
淮安數據加密 瀏覽:295
魔高一丈指標源碼 瀏覽:984
松下php研究所 瀏覽:170
c回調java 瀏覽:402
夢幻端游長安地圖互通源碼 瀏覽:747
電腦本地文件如何上傳伺服器 瀏覽:315