歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Python 正則模塊的應用

Python 正則模塊的應用

日期:2017/3/1 9:53:25   编辑:Linux編程

Python在字符處理方面擁有很強大的優勢,其中正則表達式是其中的精髓。可以利用正則表達式對字符串進行特定規則的查找,分割。本文對python在正則表達式方面的應用做了一個基本的總結。

python的re模塊就是專門用於正則的模塊,該模塊主要有兩部分組成。第一部分是正則匹配的規則,第二部分是re的相關函數。在引用這個模塊之前,需要先導入該模塊。

    1. 正則匹配特殊字符

匹配規則需要知道一些常用匹配字符的定義,常見的匹配字符歸納如下:

字符 功能 . 匹配除換行符'/n'外的所有字符 * 匹配前面規則0次或多次 + 匹配前面規則1次多多次 | 或規則,表示滿足其一就匹配,例如:dog|cat表示匹配'dog'和'cat' ? 匹配前面規則0次或1次 ^ 匹配字符串的開頭 $ 匹配字符串的結尾 [] 字符集合,例如[abc],表示'a','b','c'都可以匹配 () 組,通常把相關的匹配規則寫在組裡 /d 匹配一個數字,/D表示取反,匹配一個非數字 /w 匹配所有英文字母和數字,/W是/w的取反 /s 匹配空格符,制表符,回車符等表示空格意義的字符 (?:) 重復字符匹配,例如(?:ab)表示匹配字符中重復的ab

2. re常用函數

  • findall(pattern,string,flags=0)

在string中查找pattern,返回結果是一個列表,存放符合規則的字符串,若沒有找到找到符合規則的字符串,返回一個空列表。

  • compile(pattern, flags=0)

將正則規則編譯成一個pattern對象,以供後續使用。返回一個pattern對象。

  • match(pattern,string,flags=0)

用pattern去匹配string的開頭部分,若成功,返回一個match object, 不成功則返回一個None.

  • search(pattern,string, flags=0)

用pattern去匹配string,若成功,返回一個match object, 不成功則返回一個None

  • split(pattern, string, flags=0)

用pattern規則在string中查找匹配的字符串,並用該字符作為分界,分割string,f返回一個列表。

Copyright © Linux教程網 All Rights Reserved