一、概念
如果要處理的檔案比較簡單,直接使用字元串比對就可以了,如下:
那麼使用字元串比對的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')
執行結果:
單個處理資料和文本,效率不高,不适合資料量大的場景,正規表達式可以解決處理資料量大的情況。
正規表達式概念:
1.使用單個字元串來描述比對一系列符合某個句法規則的字元串
2.是對字元串操作的一種邏輯公式
3.應用場景:處理文本和資料
4.正規表達式過程:依次拿出表達式和文本中的字元比較,如果每一個字元都能比對,則比對成功,否則比對失敗
二、re子產品
re使用的過程
使用舉例:
1.
2.
3.比對時忽略大小寫,增加re.I
4.正規表達式文法
*的用法:
+的用法:比對合理的變量名(必須以‘_’或者字母開頭)
?用法:比對0-99的數字
{m}/{m,n}的用法:比對合理的126郵箱(@126.com之前是6到10位字元)
*?/+?/??的用法:
正規表達式進行邊界比對
正規表達式進行分組比對
| 的用法:比對0-99的數字
(ab)的用法:
\<number>的用法:處理xml檔案時會經常用到 <book>python</book>
(?P<name>)、(?P=name)的用法:
三、re的其他方法
因為re子產品的match方法是從頭開始比對的,當需要比對字元串中的子串的時候就不好用了。
search方法:比對字元串中的數字 'study python = 1000'
findall方法:
sub方法:參數repl有兩種方式,一種是本身就是字元串,一種是函數,取函數傳回的字元串
split用法