早上在家看了會python,主要看了下正則表達式相關的一點知識
1.正則表達式是一個特殊的字符序列,它能幫助你方便 的檢查一個字符串是否與某種模式匹配。re模塊使Python語言擁有全部的正則表達式功能。
eg:import re
? ? ? ? r=r'ab'
? ? ? ? printre.findall(r,'abcdefgabcd')====>[‘ab’,’ab’]
注意:如果有元字符,注意使用轉義字符’\’
eg:print ‘\n’====>換行
? ? ? ? print ‘\\n’====>輸出\n
? ? ? ? print r ‘\n’====>輸出\n
2.元字符介紹
^匹配行首
$匹配行尾
.匹配單字符
[]匹配指定的一個字符集
[^ ]補集匹配不在區間范圍內的字符,注意^放在前面
eg:r = r‘123’
? ? ? ? re.findall(r,’12345612345’)====>[‘123’]
? ? ? ? r = r ‘345$’
? ? ? ? re.findall(r,’1234512345’)====>[‘345’]
? ? ? ? r = r’3.5’
? ? ? ? re.findall(r,’1234512345’)====>[‘345’,’345’]
? ? ? ? r = r‘a[a-z A-Z 0-9]c’
? ? ? ? re.findall(r,’abc,aCc,a5c,a3c,afg’)====>[‘abc’,’aCc’,’a5c’,’a3c’]
? ? ? ? r = r’a[^0-9]c’
? ? ? ?re.findall(r,’abc,aCc,a5c,a3c,afg’)====>[‘abc’,’aCc’]
3.特殊意義字符
\d代表數字[0-9]
\D非數字
\s空白字符
\S非空白字符
\w單詞字符[a-zA-Z0-9_]
\W非單詞字符
{}前一個字符的重復的次數 前一個字符在一個范圍內的重復次數
*將前一字符匹配大于等于0次,{0,}效果等價于*
+將前一字符匹配大于等于1次,{1,}效果等價于+
?將前一字符匹配0次或1次,表示是否出現,{0,1}效果等 價于?
*?盡可能少的匹配
()分組
eg:r = r’a\dc’
? ? ? ? re.findall(r,’abc,aCc,a5c,a3c,afg’)====>[‘a5c’,’a3c’]
? ? ? ? r = r’a\Dc’
? ? ? ? re.findall(r,’abc,aCc,a5c,a3c,afg’)====>[‘abc’,’aCc’]
4.正則常用函數
compile編譯后執行速度更快
findall返回匹配列表
match匹配字符串開頭,返回第一個匹配的內容
search匹配字符串全文,返回第一個匹配的內容
sub字符串正則替換,返回替換字符串
subn字符串正則替換,返回元組(替換字符串,替換次數)
split返回切割后的列表
由于家里停電,就沒有繼續學習,晚上導致老徐的分享也擱淺了