(一)正則表達式:
通用的字符串表達框架;
簡潔表達一組字符串的表達式;
針對字符串表達“簡潔”和“特征”思想的工具;
判斷某字符串的特征歸屬;
正則表達式在文本中的常見作用:
-
表達文本類型的特征(病毒);
-
同時查找或替換一組字符串;
-
匹配字符串的全部或部分;
正則表達式的使用:
編譯:將符合正則表達式語法的字符串轉(zhuǎn)換成正則表達式特征。
(二)正則表達式的語法
(三)正則常用的操作符
(四)正則表達式實例
(五)re庫的主要功能函數(shù)
正則表達式的表示類型
(1)raw string類型(原生字符串類型)
re庫采用raw string類型表示正則表達式,表示為r’text’。
例如:大陸地區(qū)的郵政編碼: r’[1-9]\d{5}’
國內(nèi)的電話號碼:r’\d{3}-\d{8}|\d{4}-\d{7}’
原生字符串類型是不包含轉(zhuǎn)義符的字符串。
(2)string類型,更加繁瑣
例如’[1-9]\\d{5}’
’\\d{3}-\\d{8}|\\d{4}-\\d{7}’
所以當正則表達式包含轉(zhuǎn)義字符時,使用raw string。
1、re.search(pattern,string,flags=0)
在一個字符串中搜索匹配正則表達式的第一個位置,返回match對象。
pattern:正則表達式的字符串或原生字符串的表示;
string:帶匹配字符串;
flags:正則表達式使用時的控制標記;
代碼
2、re.match(pattern,string,flags=0)從一個字符串的開始位置起匹配正則表達式,返回match對象
3、re.findall(pattern,string,flags=0)
搜索字符串,以列表類型返回全部能匹配的子串。
4、re.split(pattern,string,maxsplit=0,flags=0)
將一個字符串按照正則表達式匹配結(jié)果進行分割,返回列表類型。
maxsplit:最大分割數(shù),剩余部分作為最后一個元素輸出。
5、re.finditer(pattern,string,flags=0)
搜索字符串,返回一個匹配結(jié)果的迭代類型,每個迭代元素是match對象。
6、re.sub(pattern,repl,string,count=0,flags=0)
在一個字符串中替換所有匹配正則表達式的子串,返回替換后的字符串。
Pattern:正則表達式的字符串或原生字符串表示;
Repl:替換匹配字符串的字符串;
String:待匹配的字符串;
Count:匹配的最大替換數(shù);
(六)re庫的另一種用法
(七)match對象
1、match對象的屬性
2、match對象的方法
(八)re庫的貪婪匹配和最小匹配
Re庫默認采用貪婪匹配,即輸出匹配最長的字符串。
1、最小匹配操作符
-
字符串
+關(guān)注
關(guān)注
1文章
575瀏覽量
20470 -
python
+關(guān)注
關(guān)注
55文章
4768瀏覽量
84376 -
正則表達式
+關(guān)注
關(guān)注
0文章
26瀏覽量
3470
原文標題:Python爬蟲學習筆記——正則表達式
文章出處:【微信號:gh_bee81f890fc1,微信公眾號:面包板社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論