Re: [問題] 請問一下讀檔的問題
※ 引述《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
03/04 20:08, 2F
推
03/05 07:27, , 3F
03/05 07:27, 3F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 8 篇):
Python 近期熱門文章
PTT數位生活區 即時熱門文章