天天看點

正規表達式(Python)

一、概念

如果要處理的檔案比較簡單,直接使用字元串比對就可以了,如下:

正規表達式(Python)
那麼使用字元串比對的python代碼:

1 def find_start_re(fname):
2     f = open(fname,'r')
3     for line in f:
4         if line.startswith('re'):
5             print(line)
6     f.close()
7 
8 find_start_re('re.txt')      

執行結果:

正規表達式(Python)

單個處理資料和文本,效率不高,不适合資料量大的場景,正規表達式可以解決處理資料量大的情況。

正規表達式概念:

1.使用單個字元串來描述比對一系列符合某個句法規則的字元串

2.是對字元串操作的一種邏輯公式

3.應用場景:處理文本和資料

4.正規表達式過程:依次拿出表達式和文本中的字元比較,如果每一個字元都能比對,則比對成功,否則比對失敗

二、re子產品

re使用的過程

正規表達式(Python)

使用舉例:

1.

正規表達式(Python)
正規表達式(Python)
正規表達式(Python)

2.

正規表達式(Python)

3.比對時忽略大小寫,增加re.I

正規表達式(Python)

4.正規表達式文法

正規表達式(Python)
正規表達式(Python)

*的用法:

正規表達式(Python)

+的用法:比對合理的變量名(必須以‘_’或者字母開頭)

正規表達式(Python)

?用法:比對0-99的數字

正規表達式(Python)

{m}/{m,n}的用法:比對合理的126郵箱(@126.com之前是6到10位字元)

正規表達式(Python)

*?/+?/??的用法:

正規表達式(Python)

正規表達式進行邊界比對

正規表達式(Python)

正規表達式進行分組比對

正規表達式(Python)

| 的用法:比對0-99的數字

正規表達式(Python)
正規表達式(Python)

(ab)的用法:

正規表達式(Python)

\<number>的用法:處理xml檔案時會經常用到 <book>python</book>

正規表達式(Python)
正規表達式(Python)

(?P<name>)、(?P=name)的用法:

正規表達式(Python)

三、re的其他方法

因為re子產品的match方法是從頭開始比對的,當需要比對字元串中的子串的時候就不好用了。

正規表達式(Python)
正規表達式(Python)

search方法:比對字元串中的數字 'study python = 1000'

正規表達式(Python)

findall方法:

正規表達式(Python)
正規表達式(Python)

sub方法:參數repl有兩種方式,一種是本身就是字元串,一種是函數,取函數傳回的字元串

正規表達式(Python)

split用法

正規表達式(Python)
上一篇: 政策模式
下一篇: 代理模式