本文中基礎知識沒有介紹,只是將自己不懂的東西稍加記錄,以複習記憶。
match(),finditer(),search()為一組,返回的是match object物件;
其擁有group()方法:
當匹配的正規表示式沒有小括號時,group(0)=group(),代表整個正規表示式;
當有括號時:
group(0)=group(),其他括號按照從外向內組號增加:
import re
str='ssss2.168.1.11sssss'
p=re.compile(r'(\w+(\d+)\.)')
print(p.search(str).group())
#這是關鍵點:group(0)=group()=group(1):輸出ssss2. 看懂了嗎???
#group(2):輸出2
findall()返回乙個列表:
無分組就是整個匹配,這個不提;
有分組時,預設沒有整體結果而是乙個分組的結果,如果有多個小括號分組,將會把多個分組組合成元祖作為列表find的一項,類似下面:
re.findall(r"(\d+)@(\w+).com", content)
[('2345678', '163'), ('2345678', '163'), ('345678', '163')]
如果想匹配整個結果,2個方法:
1是將整個正規表示式小括號括起來;
2是用?:,具體請看收藏夾關於(?# ?:)等具體用法。
另外關於finditer(),返回的是迭代器,到底是啥呢?
import re
str='ssss2.168.1.11sssss'
p=re.compile(r'\.\d+')
match=p.finditer(str)
print(match)#輸出結果是:,這就是乙個迭代器
#怎麼訪問呢?
#一種方法是:
#next(match)#輸出是<_sre.sre_match object; span=(5, 9), match='.168'>
#繼續next(match)訪問下乙個匹配的結果
#或者用for:
for i in match:
print(i)#<_sre.sre_match object; span=(5, 9), match='.168'>
x想訪問其中匹配的結果還是要用group():i.group()
簡單的總結一下到底什麼是python
python是一種解釋型語言。這就是說,與c語言和c的衍生語言不同,python 在執行之前不需要編譯。其他解釋型語言還包括php和ruby。python是動態型別語言,指的是你在宣告變數時,不需要說明變數的型別。你可以直接編寫類似x 111和x i m a string 這樣的 程式不會報錯。py...
稍微總結一下
其實整個程式16日的時候應該已經搞得差不多,文件也已經比較詳細。但是由於這個禮拜又是筆試又是面試,所以都沒有時間review整個程式。今天看了一下,改了一些輸出檔案的位置,基本上完成了所有任務了。程式放在 http xiao 81 svn auto testing 下。其中包括三個可執行指令碼 1....
總結一下模板
二叉樹的各種操作 include include include includetypedef struct node tree void createbitree tree p 建樹 return void xpreorder tree p 輸出先序 void zpreorder tree p 輸...