成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用Python函數編譯函數

開發 后端
在上面的說明中,我們已經對Python函數編譯函數 ‘findall’很熟悉了。當然如果光有findall的話,很多功能是不能實現的。

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

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

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

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

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

  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'')  

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

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

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

責任編輯:chenqingxiang 來源: 博客園
相關推薦

2010-02-03 15:40:37

Python函數

2010-03-15 10:49:57

Python函數變量

2010-10-20 13:43:37

C++編譯器

2010-02-01 17:50:32

Python裝飾器

2021-03-31 07:39:18

pythonHIVEUDF函數

2019-09-02 10:51:59

Python腳本語言程序員

2022-07-07 09:03:36

Python返回函數匿名函數

2011-07-20 10:45:36

sqlite數據庫sqlite擴展函數

2010-09-09 09:31:19

SQL函數left

2021-03-27 10:54:34

Python函數代碼

2010-01-18 17:23:55

函數

2009-08-19 14:26:58

C# JavaScri

2010-10-09 16:18:43

MYSQL IFNUL

2010-10-11 15:08:44

MySQL conca

2009-11-18 10:22:14

PHP substr

2010-10-11 16:23:35

MYSQL BENCH

2010-10-28 15:38:24

Oracle to_d

2022-09-22 08:19:26

WebFlux函數式編程

2010-10-25 17:08:34

oracle聚合函數

2010-07-21 10:18:41

Perl map函數
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 伊人在线 | 91精品久久久久久久久中文字幕 | 日韩国产高清在线观看 | 亚洲成人自拍 | 日韩www视频 | 一区二区中文字幕 | 日韩精品 电影一区 亚洲 | 久久69精品久久久久久久电影好 | 亚洲免费在线 | 亚洲国产欧美在线 | 亚洲三区在线 | 久久夜色精品国产 | 97caoporn国产免费人人 | 久久亚洲免费 | 欧美成人精品二区三区99精品 | 成年人黄色小视频 | 国产精品久久久久久婷婷天堂 | 久久久久久久久综合 | 99精品网| 国产精品不卡 | 久久久精彩视频 | 色资源站 | 97色免费视频 | 国产精品成人一区二区三区 | 91色站 | 欧美黄色一级毛片 | 亚洲一区精品在线 | 521av网站| 欧美二区在线 | 成人av免费网站 | 精品国产欧美 | 特级毛片爽www免费版 | 狠狠的干| 人人擦人人干 | 喷潮网站 | 毛片日韩| 最近中文字幕免费 | 久久国际精品 | 一本在线 | 精品一区二区三区在线观看国产 | 激情婷婷|