作者wawawa (哇哇哇○( ̄﹏ ̄)○)
看板Python
标题Re: [问题] 请问一下读档的问题
时间Sun Mar 4 16:20:32 2007
※ 引述《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
1F:推 isong:太感谢了~~~对我的帮助很大 ^^ 03/04 17:55
2F:推 wawawa:哎呀,这样就被m了XD 那我以後有心得就多po上来赚p币 :p 03/04 20:08
3F:推 zhouer:wawawa: 多多益善 :) 03/05 07:27