




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
正則表達(dá)式的匹配和應(yīng)用第1頁,課件共23頁,創(chuàng)作于2023年2月主要內(nèi)容正則表達(dá)式簡介正則表達(dá)式匹配實例正則表達(dá)式應(yīng)用第2頁,課件共23頁,創(chuàng)作于2023年2月什么是正則表達(dá)式定義正則表達(dá)式,就是用某種模式去匹配一類字符串的公式。應(yīng)用可用于查找特定條件的字符串可用于某些工具(vi,grep,find等)中進(jìn)行模式匹配和替換第3頁,課件共23頁,創(chuàng)作于2023年2月正則表達(dá)式基礎(chǔ)普通字符大小寫的字母和數(shù)字元字符具有特殊的含義的字符第4頁,課件共23頁,創(chuàng)作于2023年2月元字符(1).匹配單個字符如:r.t匹配rat,rot等*匹配0個或多個在它之前的那個字符
如:r*t匹配t,rt,rrt等+匹配1或多個正好在它之前的那個字符如:r+t匹配rt、rrt等,但不匹配t\引用符,用來將元字符當(dāng)作普通的字符
來進(jìn)行匹配
如;\.匹配字符.第5頁,課件共23頁,創(chuàng)作于2023年2月元字符(2)?匹配0或1個在它之前的那個字符
如:r?t只匹配t和rt|兩個匹配條件進(jìn)行邏輯“或”運算
如:\(him\|her\)匹配him或者h(yuǎn)er
$匹配行結(jié)束符
如:boy$匹配以boy為行結(jié)尾的字符串^匹配一行的開始
如:^boy
匹配以boy為行首的字符串第6頁,課件共23頁,創(chuàng)作于2023年2月元字符(3)[]匹配括號中的任何一個字符
如:r[aou]t匹配rat,rot,rut[c1-c2]括號中可以使用連字符-來指定
字符的區(qū)間
如:[0-9]
匹配0,1,2,3,4,5,6,7,8,9[^c1-c2]匹配除了指定區(qū)間之外的字符(補(bǔ)集)如:[^269A-C]
匹配除了2,6,9,A,B,C以外的任何一個字符
第7頁,課件共23頁,創(chuàng)作于2023年2月元字符(4)\<和\>
匹配詞(word)的開始和結(jié)束
如:\<the匹配them,但不匹配other
如:the\>匹配breathe,但不匹配other\(\)
將\(和\)之間的表達(dá)式定義為“組”(group),并且將匹配這個表達(dá)式的字符保存到一個臨時區(qū)域(一個正則表達(dá)式中最多可以保存9個),它們可以用
\1
到\9
的符號來引用。:%s/\(99\)/\1aa/g將99替換成99aa第8頁,課件共23頁,創(chuàng)作于2023年2月元字符(5)\{i\}和\{i,j\}匹配指定數(shù)目的字符,這些字符是在它之前的表達(dá)式定義的。如:正則表達(dá)式A[0-9]\{3\}
能夠匹配字符“A”后面跟著正好3個數(shù)字字符的串,例如A123、A348等,但是不匹配A12a4。正則表達(dá)式[0-9]\{4,6\}
匹配連續(xù)的任意4個、5個或者6個數(shù)字字符。
第9頁,課件共23頁,創(chuàng)作于2023年2月主要內(nèi)容正則表達(dá)式簡介正則表達(dá)式匹配實例正則表達(dá)式應(yīng)用第10頁,課件共23頁,創(chuàng)作于2023年2月正則表達(dá)式的匹配(1)fo+可以與目標(biāo)對象中的
“fool”,“fo”,或者
“football”等在字母f后面連續(xù)出現(xiàn)一個或多個字母o的字符串相匹配
eg*與目標(biāo)對象中的
“easy”,“ego”,或者
“egg”等在字母e后面連續(xù)出現(xiàn)零個或多個字母g的字符串相匹配
Wil?與目標(biāo)對象中的”Win”,“Wilson”等在字母i后面連續(xù)出現(xiàn)零個或一個字母l的字符串相匹配
Jim\{2,6\}規(guī)定字符m可以在匹配對象中連續(xù)出現(xiàn)2-6次,可以同jimmy或jimmmmmy等字符串相匹配第11頁,課件共23頁,創(chuàng)作于2023年2月正則表達(dá)式的匹配(2)^hell以
“hell”,“hello”或
“hellhound”開頭的字符串
ar$以
“car”,“bar”或
“ar”
結(jié)尾的字符串
[A-Z]A到Z范圍內(nèi)任何一個大寫字母相匹配
[a-z]從a到z范圍內(nèi)任何一個小寫字母相匹配
第12頁,課件共23頁,創(chuàng)作于2023年2月正則表達(dá)式的匹配(3)[0-9]從0到9范圍內(nèi)任何一個數(shù)字
([a-z][A-Z][0-9])+任何由字母和數(shù)字組成的字符串to|too|2與目標(biāo)對象中的
“to”,“too”,或
“2”
相匹配
[^A-C]與目標(biāo)對象中除A,B,和C之外的任何字符相匹配
第13頁,課件共23頁,創(chuàng)作于2023年2月主要內(nèi)容正則表達(dá)式簡介正則表達(dá)式匹配實例正則表達(dá)式應(yīng)用第14頁,課件共23頁,創(chuàng)作于2023年2月正則表達(dá)式在find中的應(yīng)用find/dev/–nametty[0-9]在/dev下查找以tty開頭,后面跟一個數(shù)字的文件第15頁,課件共23頁,創(chuàng)作于2023年2月正則表達(dá)式在grep中的應(yīng)用文本文件phone.txtFrancis,John
5-3871Wong,Fred
4-4123Jones,Thomas
1-4122Salazar,Richard
5-2522grep命令1)grep'^S[^]*R'phone.txt2)grep'^[JW]'phone.txt3)grep-v'^[JW]'phone.txt4)grep'^[M-Z]'phone.txt5)grep'^[M-Z].*[12]'phone.txt第16頁,課件共23頁,創(chuàng)作于2023年2月正則表達(dá)式在vi中的應(yīng)用Vi的替換命令:ranges/pat1/pat2/range是命令執(zhí)行范圍的指定
pat1查找的一個正則表達(dá)式
pat2這是希望把匹配串變成的模式的正則表達(dá)式
第17頁,課件共23頁,創(chuàng)作于2023年2月正則表達(dá)式在vi中的應(yīng)用--例1:%s/*//g把一個或者多個空格替換為一個空格。:%s/*$//去掉行尾的所有空格。:%s/^//在每一行頭上加入一個空格。:%s/^[0-9][0-9]*//
去掉行首的所有數(shù)字字符。:%s/b[aeio]g/bug/g將所有的bag、beg、big和bog改為bug。:%s/t\([aou]\)g/h\1t/g將所有tag、tog和tug分別改為hat、hot和hug(注意用group的用法和使用\1引用前面被匹配的字符)。第18頁,課件共23頁,創(chuàng)作于2023年2月正則表達(dá)式在vi中的應(yīng)用--例2將a,b,c的實例改為b,a,c之前
10,7,2x+13,y-2,10bar(8),x+y+z,5之后7,10,2y-2,x+13,10x+y+z,bar(8),5第19頁,課件共23頁,創(chuàng)作于2023年2月正則表達(dá)式在vi中的應(yīng)用--例2:%s/\([^,]*\),\([^,]*\),/\2,\1,/g
解釋[^,]
除了逗號之外的任何字符[^,]*0或者多個非逗號字符\([^,]*\)將這些非逗號字符標(biāo)記為\1,這樣可以在之后的替換模式表達(dá)式中引用它\([^,]*\),我們必須找到0或者多個非逗號字符后面跟著一個逗號,并且非逗號字符那部分要標(biāo)記出來以備后用。第20頁,課件共23頁,創(chuàng)作于2023年2月正則表達(dá)式在vi中的應(yīng)用--例3文本文件Billytriedreallyhard
Sallytriedreallyreallyhard
Timmytriedreallyreallyreallyhard
Johnnytriedreallyreallyreallyreallyhard轉(zhuǎn)化為Billytriedveryhard
Sallytriedveryhard
Timmytriedveryhard
Johnnytriedveryhard第21頁,課件共23頁,創(chuàng)作于2023年2月正則表達(dá)式在vi中的
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年耐高溫可加工陶瓷項目合作計劃書
- 涼亭采購安裝合同范例
- 儲罐氣體銷售合同范例
- 中山日式花園施工方案
- 保險中介加盟合同范例
- 辦公 維護(hù) 合同范例
- 養(yǎng)生館開店采購合同范例
- 養(yǎng)殖水庫轉(zhuǎn)讓合同范例
- 與裝飾公司合同范例
- 企業(yè)工程監(jiān)理勞務(wù)合同范例
- 《地基與復(fù)合地基靜荷載試驗》考試參考題庫(含答案)
- 人力資源服務(wù)許可證、勞務(wù)派遣經(jīng)營許可證年檢報告書
- 患者搬運法評分標(biāo)準(zhǔn)最終
- 《槍炮、病菌與鋼鐵》-基于地理視角的歷史解釋(沐風(fēng)學(xué)堂)
- 水泥粉磨工藝(行業(yè)經(jīng)驗)
- 國家自然科學(xué)基金(NSFC)申請書樣本
- 畢業(yè)設(shè)計(論文)-助力式下肢外骨骼機(jī)器人的結(jié)構(gòu)設(shè)計
- 觀摩臺標(biāo)準(zhǔn)化建設(shè)方案
- 銅排理論公斤重量
- 山姆會員店要求與規(guī)格(共19頁)
- 壓瘡醫(yī)學(xué)護(hù)理課件
評論
0/150
提交評論