python基礎 學習筆記六 正規表示式

2021-08-21 12:22:28 字數 1385 閱讀 6769

正規表示式是用來匹配字串的工具,我們可以給字串制定乙個規則,一旦符合符合這個規則,就認為「匹配」了。

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...