Python:正則表達式-3

原文來自FishC,本文是個人學習筆記。

模塊級別的函數

使用正則表達式也並非一定要創建模式對象,然後調用它的匹配方法。re模塊中同時還提供了一些全局函數,如match,search,findall,sub等。這些函數的第一個參數是正則表達式字符串,其它參數同與同名的方法一樣,返回值也一樣。

如果正則表達式的使用頻率比較高,建議使用上一回中所說的模式對象,如果只是偶爾使用,就使用全局函數就行了。

編譯標誌

(感覺怎麼這麼複雜啊)編譯標誌可以讓我們修正正則表達式的工作方式。在re模塊下,編譯標誌有兩個名字:完整名和簡寫。如下所示(前面是完整名,後面是簡寫):

    ASCII,A                    使得轉義符如\w,\b,\s,\d只能匹配ASCII字符,不匹配完整的Unicode字符;

    DOTALL,S                使得.匹配任何字符,包括換行符;如不使用,將匹配除換行符外的所有字符;

    IGNORECASE,I        匹配時候不區分大小寫的

    LOCALE,L                支持當前的語言(區域)設置;使\w,\W,\b,\B依賴當前語言環境,而不是Unicode數據庫;

    MULTILINE,M         多行匹配,影響^,$;通常^只匹配字符串的開頭,$匹配字符串的結尾;當此標誌被設置時,^不僅匹                                      配字符串的開頭,也匹配每行的開頭。同樣,$匹配字符串的結尾和行尾;

    VERBOSE,X             啓用詳細的正則表達式:正則表達式可以寫得更好看,更有條理;空格會被忽略(除出現在字符類中和                                     使用反斜槓轉義的空格);容許正則表達式中使用註釋。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章