Re: [問題] 請問一下讀檔的問題

看板Python作者 (哇哇哇○( ̄﹏ ̄)○)時間18年前 (2007/03/04 16:20), 編輯推噓3(300)
留言3則, 3人參與, 最新討論串4/8 (看更多)
※ 引述《isong (船沒開啊...)》之銘言: : 不好意思~~~模仿你的語言測試了一下 : 再請教一些問題 : ** : import re 回完你的信才發現這邊也有XD 我順便將我使用re的筆記po上來好了...有錯請不要鞭太大力:p re.compile.findall -- txt = """div class=pexplain>123</div> div class=pexplain>456</div>""" for i in re.compile(r"class=(.+?)>(.+?)<").findall(txt): print i #這樣會傳回一個tuple,而tuple則依序是比對到的部份(黃色括號括起來的地方) #也就是說,i[0]是pexplain,i[1]是123,以此類推。 -- re.compile.finditer -- finditer會傳回一個iterater的物件,如果搭配for迴圈,則每個iterater有以下的 method: 1. group():group(0)是傳回整個比對到的字串,group(1)是傳回第一個括號,以此類推 2. groups():會傳回比對到的括號內的字串所集合的tuple,和findall行為很像。 比如上面的範例,會傳回('pexplain', '123')。 3. start():會傳回括號內比對到的字串開頭位置 4. end():會傳回括號內比對到的字串結尾位置 5. span():會傳回括號比對到的字串開頭與結尾位置的tuple -- re.split -- #用範例解釋比較快 >>> re.split('\W+', 'Words, words, words.') ['Words', 'words', 'words', ''] >>> re.split('(\W+)', 'Words, words, words.') ['Words', ', ', 'words', ', ', 'words', '.', ''] >>> re.split('\W+', 'Words, words, words.', 1) ['Words', 'words, words.'] -- re.sub -- #沒啥好說的 re.sub('正規表示式', '要取代成什麼字串', '要對哪個字串下手') -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.127.72.4

03/04 17:55, , 1F
太感謝了~~~對我的幫助很大 ^^
03/04 17:55, 1F

03/04 20:08, , 2F
哎呀,這樣就被m了XD 那我以後有心得就多po上來賺p幣 :p
03/04 20:08, 2F

03/05 07:27, , 3F
wawawa: 多多益善 :)
03/05 07:27, 3F
文章代碼(AID): #15we5HqM (Python)
文章代碼(AID): #15we5HqM (Python)