在下這廂有禮了
python正規表示式
python通過re模組提供對正規表示式的支援。使用re的一般步驟是先將正規表示式的字串形式編譯為pattern例項,然後使用pattern例項處理文字並獲得匹配結果(乙個match例項),最後使match例項獲得資訊,進行其他的操作。
# encoding: utf-8
import re
# 將正規表示式編譯成pattern物件
pattern = re.compile(r'hello')
# 使用pattern匹配文字,獲得匹配結果,無法匹配時將返回none
match = pattern.match('hello world!')
if match:
# 使用match獲得分組資訊
print match.group()
### 輸出 ###
# hello
match
match物件是一次匹配的結果,包含了很多關於此次匹配的資訊,可以使用match提供的可讀屬性或方法來獲取這些資訊。
import re
m = re.match(r'(\w+) (\w+)(?p.*)', 'hello world!')
print "m.string:", m.string
print "m.re:", m.re
print "m.pos:", m.pos
print "m.endpos:", m.endpos
print "m.lastindex:", m.lastindex
print "m.lastgroup:", m.lastgroup
print "m.group(1,2):", m.group(1, 2)
print "m.groups():", m.groups()
print "m.groupdict():", m.groupdict()
print "m.start(2):", m.start(2)
print "m.end(2):", m.end(2)
print "m.span(2):", m.span(2)
print r"m.expand(r'\2 \1\3'):", m.expand(r'\2 \1\3')
### output ###
# m.string: hello world!
# m.re: <_sre.sre_pattern object at 0x016e1a38>
# m.pos: 0
# m.endpos: 12
# m.lastindex: 3
# m.lastgroup: sign
# m.group(1,2): ('hello', 'world')
# m.groups(): ('hello', 'world', '!')
# m.groupdict():
# m.start(2): 6
# m.end(2): 11
# m.span(2): (6, 11)
# m.expand(r'\2 \1\3'): world hello!
pattern
pattern物件是乙個編譯好的正規表示式,通過pattern提供的一系列方法可以對文字進行匹配查詢。
pattern不能直接例項化,必須使用re.compile()進行構造。
pattern提供了幾個可讀屬性用於獲取表示式的相關資訊:
pattern: 編譯時用的表示式字串。
flags: 編譯時用的匹配模式。數字形式。
groups: 表示式中分組的數量。
groupindex: 以表示式中有別名的組的別名為鍵、以該組對應的編號為值的字典,沒有別名的組不包含在內。
import re
p = re.compile(r'(\w+) (\w+)(?p.*)', re.dotall)
print "p.pattern:", p.pattern
print "p.flags:", p.flags
print "p.groups:", p.groups
print "p.groupindex:", p.groupindex
### output ###
# p.pattern: (\w+) (\w+)(?p.*)
# p.flags: 16
# p.groups: 3
# p.groupindex:
學習python 第十四天
python 傳送電子郵件 訪問 http協議,傳送郵件要使用smtp。smtp mail transfer protocol 即簡單郵件傳輸協議,它是一組用於由源位址到目的位址傳送郵件的規則,由它來控制信件的中轉方式。python的smtplib提供了一種很方便的途徑傳送電子郵件。它對smtp協議...
python學習第十四天
1 遞迴函式 自己呼叫自己的函式 遞 去歸 回 一去一回叫做遞迴 遞迴函式有回的過程,有兩種情況可以觸發 1.當最後一層函式全部執行結束的時候,有觸底 的過程 回馬槍 回到上層函式空間的呼叫處 2.遇到return返回值,直接返回上層空間的呼叫處 遞迴函式在執行的時候,需要記憶體開闢空間才可以,這個...
Python 第十四天
物件導向程式設計 object oriented programming,簡稱 oop 是一種封裝 的方法。封裝,其實就是隱藏實現功能的具體 僅留給使用者使用的介面,就好像使用計算機,使用者只需要使用鍵盤 滑鼠就可以實現一些功能,而根本不需要知道其內部是如何工作的。python 中,建立乙個類使用c...