1. 程式人生 > >第二章 python分散式爬蟲打造搜尋引擎環境搭建 第二節正則表示式的學習和編寫練習

第二章 python分散式爬蟲打造搜尋引擎環境搭建 第二節正則表示式的學習和編寫練習

第一,正則表示式介紹

1. 為什麼必須會正則表示式?關於正則表達的詳細介紹可檢視篇官網的技術文件

       正則表示式是一個特殊的字元序列,它能幫助你方便的檢查一個字串是否與某種模式匹配。正則表示式,又稱規則表示式,通常被用來檢索、替換那些符合某個模式(規則)的文字。正則表示式是對字串操作的一種邏輯公式,就是用事先定義好的一些特定字元、及這些特定字元的組合,組成一個“規則字串”,這個“規則字串”用來表達對字串的一種過濾邏輯。

2.熟悉掌握以下基本的正則表示式意義!

1)   ^ $ * ? + {2} {2, } {2,5}  | 

2)   [] [^] [a-z] .

3)   \s \S \w \W

4)   [\u4E00-\u9FA5] () \d

2. 正則表示式的簡單應用及python示例

提取出字串中的生日!我們知道,生日的寫法有很多種,這裡就以此為需求,按照要求篩選你需要的字串!

import re
broth="我的生日是1991年02月14日" 
#broth="我的生日是1991-02-14" 
#broth="我的生日是1991-2-14" 
#broth="我的生日是1991/02/14" 
#broth="我的生日是1991/2/14" 
#broth="我的生日是1991年02月" 
#broth="我的生日是1991年02" 
regstr=".*生日是((\d{4}[年/-]\d{1,2})(([月/-]($|\d{1,2}))|$).*)" 
#regstr=".*([/年-])"  
objectMatch=re.match(regstr,broth) 
if objectMatch: 
	print(objectMatch.group(1))

這裡需要注意一個東西就是[年/-]這個匹配的規則,其中只要調換順序,python就報錯了,[年-/]就是“-/”這樣子組合就報錯了,一直沒搞明白為什麼,如果看到這裡的有人知道的話,麻煩給個解答,在此謝過了!下面給出報錯的圖:

到此,整個的基礎知識算是介紹完了,接下來就開始專案的實戰訓練了!後面的知識才是重點,前面的這些都是為後面的開發做的準備,孰輕孰重一目瞭然!