Python中文自然語(yǔ)言處理基礎(chǔ)與實(shí)戰(zhàn)(課件)第3章 正則表達(dá)式_第1頁(yè)
Python中文自然語(yǔ)言處理基礎(chǔ)與實(shí)戰(zhàn)(課件)第3章 正則表達(dá)式_第2頁(yè)
Python中文自然語(yǔ)言處理基礎(chǔ)與實(shí)戰(zhàn)(課件)第3章 正則表達(dá)式_第3頁(yè)
Python中文自然語(yǔ)言處理基礎(chǔ)與實(shí)戰(zhàn)(課件)第3章 正則表達(dá)式_第4頁(yè)
Python中文自然語(yǔ)言處理基礎(chǔ)與實(shí)戰(zhàn)(課件)第3章 正則表達(dá)式_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

正則表達(dá)式1任務(wù):正則表達(dá)式應(yīng)用目錄正則表達(dá)式2正則表達(dá)式是一種可以用于模式匹配和替換的工具。通過(guò)正則表達(dá)式可以對(duì)指定的文本實(shí)現(xiàn)匹配測(cè)試、內(nèi)容查找、內(nèi)容替換、字符串分割等功能。正則表達(dá)式常用函數(shù)如下。match函數(shù):用于檢測(cè)字符串開(kāi)頭位置是否匹配。search函數(shù):用于在整個(gè)字符串內(nèi)查找對(duì)應(yīng)的模式進(jìn)行匹配。findall函數(shù):返回的是正則表達(dá)式在字符串中所有匹配結(jié)果的列表。sub函數(shù):能夠找到所有模式匹配的字符串并用指定的字符串替換。正則表達(dá)式函數(shù)元字符由特殊符號(hào)組成,元字符的應(yīng)用是正則表達(dá)式強(qiáng)大的原因,元字符定義了字符集合、子組匹配、模式重復(fù)次數(shù)。元字符使得正則表達(dá)式不只是可以匹配一個(gè)字符串,還可以匹配字符串集合。1.字符匹配英文句號(hào)“.”:匹配任意一個(gè)字符,表示匹配除去換行符“\n”之外的任意一個(gè)字符。中括號(hào)“[]”:匹配多個(gè)字符,表示包含在中括號(hào)內(nèi)部的字符都會(huì)被匹配。管道符“|”:用于對(duì)兩個(gè)正則表達(dá)式進(jìn)行或操作。乘方符號(hào)“^”:匹配字符串起始位置的內(nèi)容。貨幣符號(hào)“$”:匹配字符串的結(jié)束位置的內(nèi)容。量化符號(hào)“?”“*”“+”“{n}”“{n,}”“{m,n}”:匹配需要的字符數(shù)。正則表達(dá)式的元字符量化符號(hào)的解釋說(shuō)明如表所示。正則表達(dá)式的元字符量化符說(shuō)明?前面的元素是可選,并且最多匹配1次*前面的元素會(huì)被匹配0次或多次+前面的元素會(huì)被匹配1次或多次{n}前面的元素會(huì)正好被匹配n次{n,}前面的元素至少會(huì)被匹配n次{n前面的元素至少匹配n次,至多匹配m次字符串中可以包含任何字符,如果待匹配的字符串中出現(xiàn)“$”“.”“[]”等特殊字符,那么這將會(huì)與正則表達(dá)式的特殊字符發(fā)生沖突。遇到這種情況,Python使用“\”將字符串內(nèi)的特殊符號(hào)進(jìn)行轉(zhuǎn)義,即表示告訴Python,這個(gè)字符當(dāng)作普通字符處理。“\”是用于進(jìn)行轉(zhuǎn)義的,如果字符串包含“\”,那么需要使用“\”將“\”進(jìn)行轉(zhuǎn)義。在正則表達(dá)式中,通常解釋一個(gè)反斜杠“\”需要用兩個(gè)反斜杠“\\”表示。而python中自帶的原生字符“r”很好的解決了這個(gè)問(wèn)題。對(duì)于文本中的“\”,只需要“r'\'”表示即可。對(duì)于需要轉(zhuǎn)義的字符如“\\d”,可以從寫成“r'\d'”。正則表達(dá)式的元字符2.轉(zhuǎn)義字符“\”例如,輸入一個(gè)字符串“C:\Users\Administrate\Desktop”,假設(shè)直接書寫會(huì)直接報(bào)錯(cuò)。報(bào)錯(cuò)原因是該字符串中帶有轉(zhuǎn)義符“\”,第一個(gè)轉(zhuǎn)義符后面帶有U,則在讀取過(guò)程中會(huì)被人為是“\U”。特殊字符中不帶有這種字符,故而報(bào)錯(cuò),后兩個(gè)轉(zhuǎn)義符亦是如此。字符串應(yīng)改為“C:\\Users\\Administrate\\Desktop”。正則表達(dá)式的元字符Python預(yù)定義字符的解釋說(shuō)明如下表所示。正則表達(dá)式的元字符預(yù)定義字符說(shuō)明\w字、字母、數(shù)字\W與\w反義,非數(shù)字和字母\s空白字符\S非空白字符\d數(shù)字\D非數(shù)字\b單詞的邊界\B非單詞的邊界1任務(wù):正則表達(dá)式應(yīng)用目錄正則表達(dá)式2在進(jìn)行中文分詞前,數(shù)據(jù)格式要求全部是中文,此時(shí)需要對(duì)文本的以下內(nèi)容進(jìn)行過(guò)濾處理。特殊符號(hào)標(biāo)點(diǎn)英文數(shù)字讀者也可以根據(jù)自己的要求過(guò)濾自定義字符?!段饔斡洝纷址^(guò)濾文本人名正則表達(dá)式匹配方法如下。名字首先匹配第一個(gè)大寫字母采用[A-Z]表示。名字第二個(gè)字符只包含英文句號(hào)、空格或字母,統(tǒng)一采用[\.a-zA-Z]表示。最后用+表示允許匹配多個(gè)。電話號(hào)碼正則表達(dá)式匹配方法如下。以“(”或數(shù)字開(kāi)頭,采用[0-9(]表示。第二個(gè)字符接數(shù)字或“)”或英文句號(hào),采用[0-9-).]表示。最后用+表示允許匹配多個(gè)。自動(dòng)提取人名與電話號(hào)碼例如,一個(gè)網(wǎng)頁(yè)標(biāo)簽內(nèi)容為“<ahref=”“>百度</a><ahref=”“>谷歌</a>”。需要提取網(wǎng)頁(yè)標(biāo)簽中的網(wǎng)址和文本。通過(guò)觀察,網(wǎng)址信息保存在href屬性中,文本內(nèi)容則是在

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論