Python re 使用記錄

規則

元字符 匹配內容
. 匹配除換行符以外的任意字符
\w 匹配字母、數字、下劃線
\s 匹配任意的空白符,相當於[\n\t\r\f]
\S 匹配非空字符
\d 匹配數字
\D 匹配非數字
\A 匹配字符串開頭
\Z 匹配字符串結尾,如果存在換行,同時還會匹配換行符
\n 匹配一個換行符
\t 匹配一個製表符
\b 匹配一個單詞的結尾
^ 匹配字符串的開始
$ 匹配字符串的結尾
\W 匹配非字母或數字或下劃線
a b
() 匹配括號內的表達式,也表示一個組
[…] 匹配字符組中的字符
[^…] 匹配除了字符組中字符的所有字符
量詞 用法說明
* 匹配0個或多個表達式
+ 匹配1個或多個表達式
? 匹配0個或1個前面的正則表達式定義的片段,非貪婪方式
{n} 精確匹配n個前面的表達式
{n,} 重複n次或更多次
{n,m} 匹配n到m次由前面正則表達式定義的片段,貪婪方式

注意

正則表達式是針對每個字符生效的匹配方法,因此在匹配中要對想要匹配的內容按字符依次對正則表達式進行定製。

常用表達式

表達式 目的
\u4e00-\u9fa5 匹配所有中文字符
\u3002\uff1b\uff0c\uff1a\u201c\u201d\uff08\uff09\u3001\uff1f\u300a\u300b 匹配中文標點符號

常用技巧記錄

判斷變量類型是不是列表isinstance(變量名,類型名)

#判斷變量是不是列表
if isinstance(agency_phone,list):
     for phone in agency_phone:
         intermediate_result2=intermediate_result2+phone
         result['agency_phone'] = intermediate_result2
else:
     result['agency_phone']=agency_phone

匹配聯繫電話

(\d{7,12}'
r'|\d{0,4}-{0,2}\s{0,4}\d{7,12}'
r'|\d{0,4}-{0,2}\s{0,4}\d{7,12},\d{7,12}'
r'|\d{0,4}-{0,2}\s{0,4}\d{7,12};\d{7,12}'
r'|\d{0,4}—{0,2}\s{0,4}\d{7,12}-{0,2}\s{0,4}\d{0,5}'
r'|\d{0,12}/\s{0,2}\d{0,12}'
r'|\d{0,4}-{0,2}\d{0,8}、\d{0,8})

參考資料

https://www.cnblogs.com/kxllong/p/7307831.html
https://blog.csdn.net/qq_31672701/article/details/100711585

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章