python3中的正則表達式


精確匹配:

   \d: 匹配一個數字
     \w: 匹配一個字母或數字
     . : 匹配任意一個字符
     \s: 匹配一個空格(包括tab等空白符)
匹配變長的字符:
     * : 匹配任意個字符,包括0個
     + : 匹配至少一個字符
     ? : 匹配0個或一個字符
     {n} : 匹配n個字符
     {n,m} : 匹配n~m個字符

eg: 說明“\d{3}\s+\d{2,5}”的含義
     \d{3}: 表示匹配3個數字,例如'028'
     \s+:   表示匹配至少一個空格
     \d{2,5}: 表示匹配2~5個數字,例如'1245'

    比如可以匹配以任意個空格隔開區號的電話號碼。例如'028 57652'

[] :用來表示范圍
     [0-9a-zA-Z\_]: 可以匹配一個數字、大小寫字母或者下划線
     [0-9a-zA-Z\_]+: 可以匹配至少由一個數字、大小寫字母或者下划線組成的字符串
         eg: 'a54', 'fasd', 'who_lj123'...
     [a-zA-Z\_][0-9a-zA-Z\_]*: 可以匹配由字母或下划線開頭,后邊任意個有數字、字母或者下划線組成的字符串,即python的合法變量名
     [a-zA-Z\_][0-9a-zA-Z\_]{0, 19}: 更精確地限制了變量的長度是1-20個字符

a|b: 匹配a或者b
     eg: (P|p)ython: 可以匹配'Python'或者'python'

^: 匹配行首
     eg: ^\d: 表示行必須以數字開頭
$: 匹配行尾
     eg: $\d: 表示行必須以數字結尾
^SOME_STR$: 匹配只包含SOME_STR的行

 

python中的正則表達式模塊是re

match()方法判斷是否匹配,如果匹配成功,返回一個Match對象,否則返回None。常見的判斷方法就是:
test = '用戶輸入的字符串'
if re.match(r'正則表達式', test):
     print('ok')
else:
     print('failed')
切分字符串:
     re.split(r'\s+', 'TEST_STR'): 指定分隔符為空格
     re.split(r'[\s\,\;]+', 'TEST_STR'): 指定分隔符為空格、逗號或者分號


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM