正規表示式是用來匹配字串的工具,我們可以給字串制定乙個規則,一旦符合符合這個規則,就認為「匹配」了。
1、\d :匹配乙個數字
2、\w : 匹配乙個字母或數字
3、. : 匹配任意乙個字元
4、* :表示任意個字元(包括0個)
5、+ :表示至少1個字元
6、?:表示1個或0個字元
7、 :表示n個字元
8、 : 表示n - m個字元
9、\s : 匹配乙個空格
10、[0-9a-za-z] : 匹配乙個數字、字母或者下劃線
11、[0-9a-za-z]+: 匹配至少由乙個數字、字母或者下劃線組成的字串
12、a|b : 匹配a或b
13、^ : 表示行的開頭
14、$ : 表示行的結束
python中的 re 模組包含所有正規表示式的功能,這裡介紹幾個方法。
1、match()
match()方法用於判斷是否匹配,匹配成功就會返回乙個match物件;否則返回none。
2、split()
split() 用於切分字串,接收兩個引數,第乙個引數是切分的參照,比如空格等,第二個引數就是字串。
3、group()
在正規表示式中定義了組,就可以通過 group() 方法來提取出子串,注意group(0)始終是原始穿。
這裡通過例子來說明
import re
def is_valid_email(addr):
return re.match('^[0-9a-za-z\.]+@(\w+).com', addr)
assert is_valid_email('[email protected]')
assert is_valid_email('[email protected]')
assert not is_valid_email('bob#example.com')
assert not is_valid_email('[email protected]')
print('ok')
import re
def name_of_email(addr):
m = re.match(r'(<?)([0-9a-za-z\s]*)(>?)(\s?)(\w*)@(\w*)(.org?|.com?)$' ,addr)
if m :
return m.group(2)
assert name_of_email('[email protected]') == 'tom paris'
assert name_of_email('[email protected]') == 'tom'
print('ok')
Python學習筆記(六)
函式 呼叫python內建的函式,可以通過 help fun 進行查詢。舉例 abs x 求x絕對值 cmp x,y 比較兩個數大小,如果 xy,返回 1。int x 把其他資料型別轉換為整數,包括字串型別。str 把其他型別轉換成 str。編寫函式 def my abs x if x 0 retu...
Python學習筆記(六)
函式練習題 1 寫函式,檢查傳入字典的每乙個value的長度,如果大於2,那麼僅保留前兩個長度的內容,並將新內容返回給呼叫者。dic def dict func dic for key,value in dic.items if len value 2 value value 0 2 dic key...
Python學習筆記六
python課堂筆記六 常用模組已經可以在單位實際專案中使用,可以實現運維自動化。無需手工備份檔案,資料庫,拷貝,壓縮。常用模組 time模組 time.time time.localtime time.strftime os模組 主要針對作業系統的一些方法,如 切換目錄 sys模組 跟python...