版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Python基礎(chǔ)課教室講師:聆聽時間:2018年5月教學(xué)監(jiān)督熱線教學(xué)監(jiān)督熱線01020304必須掌握:推導(dǎo)表達(dá)式必須掌握:yield用法必須掌握:模塊的概念和導(dǎo)入方法必須掌握:包和包管理知識點(diǎn)回顧本節(jié)知識點(diǎn)01.正則02.元字符教學(xué)監(jiān)督熱線03.re模塊PARTONE正則教學(xué)監(jiān)督熱線思考01在實(shí)際的應(yīng)用中,我們會經(jīng)常得到用戶的輸入,在得到用戶的輸入之后,需要我們對輸入進(jìn)行判斷時候合法,比如判斷輸入的手機(jī)號碼,從形式上來看是爭取的呢?正則01:使用函數(shù)02:使用正則
通過對比,可以很明顯的發(fā)現(xiàn),下面這種方式能夠簡單快捷的匹配出電話號碼x=input('請輸入手機(jī)號碼:')
defphone_check(phone):
st_phone=str(phone)
ifst_phone.startswith('1')andlen(st_phone)==11andst_phone.isdigit():
print(st_phone)
else:
print('請輸入正確的電話號碼')importre
x=input('請輸入手機(jī)號碼:')
defphone_check(phone):
st_phone=str(phone)
ifre.search(r'^1\d{10}',st_phone)isNone:
print('請輸入正確的電話號碼')
else:
print(st_phone)正則表達(dá)式正則表達(dá)式匹配應(yīng)用通過正則匹配,可以迅速的過濾出我們需要的全部或者一部分字符串,查找文本中的特質(zhì)值(如:病毒)等等通過式就可以去匹配現(xiàn)有的字符串正則表達(dá)正則表達(dá)式是一種通用的用來簡潔表達(dá)一組字符串的表達(dá)式,因此,正則表達(dá)式是和python無關(guān)的,在其他的語言或者不同的系統(tǒng)中,是通用的正則總結(jié)必須掌握:正則的概念PART
TWO元字符教學(xué)監(jiān)督熱線思考01正則表達(dá)式該如何書寫呢?元字符元字符:
.
^
$
*
+
?
{}
[]
\
|
()點(diǎn)脫字符美元符號乘號加號問號花括號中括號反斜杠豎線小括號正因?yàn)橛羞@些元字符的存在,正則表達(dá)式才變得強(qiáng)大元字符. 通配符,匹配任意字符\ 正則轉(zhuǎn)義^ 匹配字符串的開始位置,在[]表示不取字符
$ 匹配字符串的結(jié)束位置{} 匹配次數(shù)* 匹配0次或多次+ 匹配1次或多次
? 匹配0次或1次
[] 字符集合() 分組匹配| 或運(yùn)算分支條件元字符0102觀察如下兩個例子:re.search('a','abc')re.search('.','ab.cd.de')在第一個例子中,可以匹配出a但是下面這個不能匹配,但是下面這個沒有匹配出點(diǎn),而是匹配到a
這個.不是不能匹配到點(diǎn),而是匹配任意字符,這個點(diǎn)已經(jīng)被賦予了特殊的含義,.(點(diǎn))就是一個元字符\
.
^
$03040102\re.search('\bs\b','abcsdsw')re.search(r'\bs\b','abcsdsw')在正則中,加上r
去掉字符串的轉(zhuǎn)義,以免影響正則的使用.re.search(r'.','hc')re.search(r'.','\nhc')匹配除換行符之外的所有的字符\d匹配0~9的數(shù)字 re.search(r'\d','ab12')\s匹配任意的空白符,包括空格,制表符(Tab),換行符等 re.search(r'\s','ab12')\w匹配字母或數(shù)字或下劃線或漢字等
\b表示單詞的邊界 re.search(r'\w','ab12')\.
表示匹配點(diǎn)號本身 re.search(r'\.','adc.123')\D、\S、\W、\B是與小寫的相反的作用 re.search(r'\D','adc123')\D除啦數(shù)字以外的字符^
脫字符,匹配輸入字符串的開始的位置 re.search(r'^a','adc.123')$
匹配輸入字符串的結(jié)束位置 re.search(r'3$','adc.123'){}
*
+
?03040102{}re.findall(r'\d{1,3}','12ab23344'){M,N}M和N為非負(fù)整數(shù),其中M<=N表示前面的匹配M~N次{M,}表示需要匹配M次{,N}等價(jià)于{0~N}{N}表示需要匹配N次*re.findall(r'\d*','12ab23344')#
{0,}匹配前面的子表達(dá)式零次或多次,等價(jià)于{0,}+re.findall(r'\d+','12ab23344')
匹配前面的子表達(dá)式一次或多次,等價(jià)于{1,}?re.findall(r'\d?','12ab23344')匹配前面的子表達(dá)式零次或一次,等價(jià)于{0,1}貪婪與非貪婪0102*?+?re.findall(r'\d*?','12ab23344')re.findall(r'\d+?','12ab23344')st="<html>aaaa</html><td>bbbb</td>"re.findall(r'<.*>',st)re.findall(r'<.*?>',st)在非貪婪模式下,始終找最短匹配[]字符集合0102[]字符類,將要匹配的一類字符集放在[]里面re.findall(r'[\d]','12ab23344')
re.findall(r'[ab]','12ab23344')
re.findall(r'[a|b]','12ab23344')[.?*(){}]
匹配里面的這些符號
[0-9]
匹配0到9的數(shù)字相當(dāng)于\d
[^\d]
匹配除數(shù)字以外的字符,相當(dāng)于\D取反的意思
[a-z]
匹配所有的小寫字母
[^a-z]
匹配非小寫字母
|
相當(dāng)于或(or)分支條件()分組匹配01()分組,將要匹配的一類字符集放在()組成一個小組re.findall(r'(2|3)','12ab.?*(){}23344')
re.findall(r'(\d)','21abc323')
re.findall(r'(^2)','21abc323')分組匹配匹配()內(nèi)的字符串組合元字符總結(jié)必須掌握:所有元字符的用法和作用PARTTHREEre模塊教學(xué)監(jiān)督熱線思考01在python中如何使用正則呢?re模塊03040102complie 編譯正則表達(dá)式為模式對象r=pile(r'\d')
r.findall('123ab12')當(dāng)正則表達(dá)式多次使用,可以采用這種方式sub 字符串替換re.sub('i','o','pythin',1)match從字符串開始匹配r=re.match(r'\d','1223ag')
re.match(r'\d','ad1223ag')r.group() 得到匹配到的元素r.start() 得到開始位置r.end() 得到結(jié)束為止r.span() 得到位置范圍注意:這幾個方法在search中也存在在re中也有和字符串一樣的split方法re.split(r'\s','aggbbwcee')
re.split(r'[\s|,]','aggbbw,cee')
re.split(r'\s','cee')
re.split(r'[\s|,]','aggbbw,acee')re
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河南省百校聯(lián)盟2025屆物理高一第一學(xué)期期中綜合測試模擬試題含解析
- 2025屆云南省景東彝族自治縣一中高二物理第一學(xué)期期中教學(xué)質(zhì)量檢測試題含解析
- 江西省南昌市第一中學(xué)2025屆高二物理第一學(xué)期期末考試試題含解析
- 2025屆安徽宿州五校物理高二上期末達(dá)標(biāo)檢測試題含解析
- 江西省穩(wěn)派教育2025屆高三上物理期中復(fù)習(xí)檢測模擬試題含解析
- 北京市陳經(jīng)綸學(xué)校2025屆高三物理第一學(xué)期期中達(dá)標(biāo)檢測試題含解析
- 2025屆山東省惠民縣第二中學(xué)物理高二第一學(xué)期期末學(xué)業(yè)水平測試模擬試題含解析
- 北京單位個人補(bǔ)交醫(yī)保流程
- 【5份合集】哈爾濱市示范初中2020年中考一模物理試卷(二)
- 急性缺血性腦卒中靜脈溶栓護(hù)理課件
- 毛細(xì)管電泳檢測糖化血紅蛋白課件
- 核心素養(yǎng)下的道德與法治課教學(xué)課件
- 中學(xué)生良好學(xué)習(xí)習(xí)慣養(yǎng)成教育課件
- 漢語普通話前后鼻音區(qū)分考試題庫(200題版)
- 小學(xué)英語四年級家長會ppt
- 四年級上冊語文老師家長會
- 2022幼兒園感恩節(jié)活動主題班會PPT感恩節(jié)課件
- 微波通信原理-課件
- 12-14mm帶壓開孔器操作說明書
- 胸水、腹水、腦脊液常規(guī)及生化檢查課件
- 腎綜合征出血熱培訓(xùn)課件1
評論
0/150
提交評論