日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
使用Python函數(shù)編譯函數(shù)

下面開始介紹一下模塊其它的常用Python函數(shù)編譯,靈活搭配使用這些函數(shù),才能充分發(fā)揮Python正則式的強大功能,看完本文你肯定有不少收獲,希望本文能教會你更多東西。

直接使用findall ( rule , target )的方式來匹配字符串,一次兩次沒什么,如果是多次使用的話,由于正則引擎每次都要把規(guī)則解釋一遍。而規(guī)則的解釋又是相當費時間的,所以這樣的效率就很低了。如果要多次使用同一規(guī)則來進行匹配的話,可以使用re.compile函數(shù)來將規(guī)則預編譯,使用編譯過返回的Regular Expression Object或叫做Pattern對象來進行查找。

將一個正則式,使用Python函數(shù)編譯,不僅是為了提高匹配的速度,同時還能使用一些附加的功能。編譯后的結果生成一個Pattern對象。這個對象里面有很多函數(shù),他們看起來和re模塊的Python函數(shù)編譯非常象,它同樣有findall , match , search ,finditer , sub , subn , split 這些函數(shù)。#t#

只不過它們的參數(shù)有些小小的不同。一般說來,re模塊函數(shù)的***個參數(shù),即正則規(guī)則不再需要了,應為規(guī)則就包含在Pattern對象中了,編譯選項也不再需要了,因為已經(jīng)被編譯過了。因此re模塊中函數(shù)的這兩個參數(shù)的位置,就被后面的參數(shù)取代了。

findall , match , search 和finditer這幾個函數(shù)的參數(shù)是一樣的,除了少了規(guī)則和選項兩個參數(shù)外,它們又加入了另外兩個參數(shù),它們是:查找開始位置和查找結束位置,也就是說,現(xiàn)在你可以指定查找的區(qū)間,除去你不感興趣的區(qū)間。它們現(xiàn)在的參數(shù)形式是:

 
 
 
  1. import Image  
  2.  
  3. # load a color image  
  4. im = Image.open(''fun.jpg'')  
  5.  
  6. # convert to grey level image  
  7. Lim = im.convert(''L'')  
  8. Lim.save(''fun_Level.jpg'')  
  9.  
  10. # setup a converting table with constant threshold  
  11. threshold = 80 
  12. table = []  
  13. for i in range(256):  
  14.     if i < threshold: 
  15.         table.append(0)  
  16.     else:  
  17.         table.append(1)  
  18.  
  19. # convert to binary image by the table  
  20. bim = Lim.point(table, ''1'')  
  21.  
  22. bim.save(''fun_binary.jpg'')  

這里是一點小心得。 由于正則表達式使用反斜杠來轉(zhuǎn)義特殊字符,而python自身處理字符串時,反斜杠也是用于轉(zhuǎn)義字符,這樣就產(chǎn)生了一個雙重轉(zhuǎn)換的問題要匹配字符串中1個反斜杠應該怎么寫正則表達式?"\\",這樣行嗎?試試就知道了。

re模塊拋異常了,Python函數(shù)編譯因為"\\"就是一個反斜杠,對于正則表達式解析器來說,是一個轉(zhuǎn)義字符,但是后面啥也沒有,自然就報錯了,"\\\"三個肯定是不行的,試試四個"\\\\",***匹配。

我們來分析一下這個例子:這個正則式是匹配單詞、或數(shù)字、或一個由字母或’_’開頭,后面接字母或數(shù)字的一個ID。我們給這三種情況的規(guī)則都包入了一個命名組,分別命名為’word’ , ‘num’ 和 ‘id’。我們規(guī)定大小寫不敏感,所以使用了編譯選項 。


網(wǎng)頁名稱:使用Python函數(shù)編譯函數(shù)
文章轉(zhuǎn)載:http://www.dlmjj.cn/article/dpjijpe.html