正则表达式_月隐学python第20课
目錄
1.為什么使?正則表達式
2.正則表達式的組成
3.正則常??法
3.1? re.match()?
3.2? re.search()?
3.3? re.findall()?
3.4? re.split?
3.5? re.sub和re.subn
3.6? re.group()和re.groups()
3.7? compile
4.練習
正則表達式
正則表達式是對字符串操作的?種邏輯公式,就是?事先定義好的?些特定字符、及這些特定字符的組合,組成?個“規則字符串”,這個“規則字符串”?來表達對字符串的?種過濾邏輯。
- 需要引?內置模塊re
- 缺點:效率低下,能?字符串?法完成盡量使?字符串的?法
- 優點:編碼簡單
1.為什么使?正則表達式
使?場景
- 敏感詞過濾
- ?機、郵箱等驗證
- 爬?
?
2.正則表達式的組成
- 原? 組成正則表達式的最?單位,任何字符都可以
- 量詞 量詞能夠增強原?的描述能?
- 模式修正符
注意:
- 模式字符串?定要使?原?字符串,也就是?r開頭的字符串。 r'www'
- 嚴格區分??寫
- 如果正則表達式中有{, }, [,],-,?,*,|^,$,.等做普通字符,則要將其轉義
?
3.正則常??法
3.1? re.match()
3.2? re.search()
3.3? re.findall()
3.4? re.split
3.5? re.sub和re.subn
3.6? re.group()和re.groups()
?于提取?元素,模式中?個括號就是?個?元素, group和groups只能在match和search?法?使?,通過返回的match object獲取?元素。在模式串和sub和subn中的替換字符串中可以使?\1, \2, \3....來引??元素
3.7? compile
當我們使?正則表達式時, re模塊會?兩件事
1、編譯正則表達式,如果正則表達式本身不合法,會報錯
2、?編譯后的正則表達式去匹配對象
編譯正則表達式使?compile
4.練習
?戶名匹配:由數字、??寫字?、下劃線 _ 和中橫線 - 組成,?度為4到14位,并且不能以數字開頭。
把下劃線命名(也叫蛇形命名,所有單詞都是?寫,中間通過下劃線連接),轉化為?駝峰命名法(第?個單詞?寫,其余所有單詞?字??寫)。例如'go_to_next_page',轉化后改寫為'goToNextPage'。要求:?正則表達式替換
匹配郵箱
匹配?機號
匹配身份證號。
匹配URL地址
匹配?期
匹配QQ號
匹配微信號
匹配?牌號
?
?
# 匹配郵箱 def emil():emil_name = input('請輸入郵箱:')# ret =re.match(r'\w{1,10}((@qq.com)|(@126.com)|(@163.com))$',emil_name)ret =re.match(r'[0-9a-zA-Z]{1,10}((@qq.com)|(@126.com)|(@163.com))$',emil_name,re.I)print(ret)if ret != None:print('郵箱正確')else:print('郵箱格式不對') emil()?
總結
以上是生活随笔為你收集整理的正则表达式_月隐学python第20课的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 匿名包装器(function(){})(
- 下一篇: 文件处理_月隐学python第21课