版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
.F
必表達(dá)式
正則表達(dá)式
?1.正則?達(dá)
?2.正則期
?3.正血荒nux中的地位?
?4.延伸的正則限達(dá)式,?
什么是正則表達(dá)式
描
表
式
則
達(dá)
述
了
正
一
查
串
配
一
匹
個(gè)
字
符(ren)
的
ula檢
式
egexpreessSIO串
模
可
以
用
re:來(lái)
含
做
串
某
有
替
是
換
種
子
串
否
將
匹
配
^的
出
的
從
件
個(gè)
某
或
子
^串
串
取
條
符
合
某
個(gè)
小
者
等
。
?正則表達(dá)式是由普通字符(例如字符a至Uz)
以及特殊字符(稱(chēng)為元字符)組成的文字
模式。正則表達(dá)式作為一個(gè)模板,將某個(gè)
字符模式與所搜索的字符串進(jìn)行匹配。
?1,正則表達(dá)式對(duì)不統(tǒng)管理員的用途?
可以減輕系統(tǒng)管理員的工作量
?2.正則表達(dá)式M具它用途?
很多軟件支撐正則表達(dá)式,所以我們可以
廣泛采用這這種表達(dá)式來(lái)提高我們的工作
效率,例如:在服務(wù)器端剔除垃圾郵件
在linux中的地位
?正則表達(dá)式在gux中的作用相當(dāng)于小學(xué)數(shù)
學(xué)中的乘法口決,是linux基礎(chǔ)中的基礎(chǔ)。
延伸正則表達(dá)式
?按照嚴(yán)謹(jǐn)程度分為:鼻
基礎(chǔ)正則表達(dá)式;
延伸正則駕*式;
延伸正則表達(dá)式;除了簡(jiǎn)單的一組字符處理
之外,還可以作群組的字符串處理,如找
Ixr或者找linux這個(gè)兩的慶,可以用延伸正
則表達(dá)式。
正則表達(dá)式的表示法
語(yǔ)系對(duì)正則表汨式的影響:
因?yàn)椴煌恼Z(yǔ)系其編碼順序是不同的,所以
我們要注意是用前環(huán)境是什么語(yǔ)系。
?LANG=C時(shí):01234…ABCD…Zabcd..N
?LANG=zh_TW時(shí):01234…aAbBcCdD…zZ
查看語(yǔ)系的方法:echo$LANG
為了避免這樣編碼所造成的英文與數(shù)字的擷取問(wèn)題,我們要
一些特殊符號(hào)進(jìn)行了解:
特殊符號(hào)代表意義
閭num:]代表英文大小寫(xiě)字符及數(shù)字,亦即0-9,A-Z,a-z
[:alpha:]代表任何英文大4寫(xiě)字符,亦即A-Z,a-z
【:blank:]代表空格鍵與[Tab]按鍵兩者
[:cntrl:]代表鍵盤(pán)上面的控制按鍵,亦即包括CR,LF,Tab,Del..等等
[:digit]代表數(shù)字而已,亦即0-9
[:graph:]除了空格符(空格鍵與[Tab]按鍵)外的其他所有按纏
[:lower:]蜴〃寫(xiě)?符,亦即a-z
|print:]代表任何可以被打印出來(lái)的字符
[:punct]代表標(biāo)點(diǎn)符號(hào)(punctuationsymbol),亦即:"‘???;:#$...
Cupper:]代表大寫(xiě)字符,亦即A-Z
匚space:]田可會(huì)產(chǎn)生空白的字符,包括空格舞,[Tab],CR等等
[:xdigit:]代表16迸位的數(shù)字類(lèi)型,因此包括:0-9,A-F,a-f的數(shù)字與字符
grep的一些進(jìn)階選項(xiàng)
?回憶grep用舉
下面我們講grep更多的用法
grep[-A][-B][-colbr=auto]“搜尋字符串”文件
名[-y?二
-A:后面可加數(shù)字,為after的意思,除了列出
該行外,后續(xù)的n行也列出來(lái)
-B:后面可加數(shù)字,為before的意思,除了列出
該行外,前面的n行也列出來(lái)
--color=auto可將正確的那個(gè)擷取數(shù)據(jù)列出顏色
?grep還可以加上?n顯示出行號(hào)更容易查看
相關(guān)數(shù)據(jù)。
?一般是查看該行1而且利用一colourauto
還會(huì)顯示出該曲的顏色,但是如果每句話
都寫(xiě)的話,比較麻煩,如何設(shè)置一下就可
以簡(jiǎn)單實(shí)現(xiàn)這一功能?
?用alias命令
?注:在使用正則表達(dá)式時(shí)要用'';
例1:搜尋特定生符串
?搜索“the”和個(gè)字符串
?grep-n'the'regular_express.txt
?如果是選擇沒(méi)看些字符而的呢?即沒(méi)有the
這個(gè)字符串時(shí)才顯示在屏幕上,那怎么做?
grep-vn'the'reguIar_express.txt
?grep-in'the'regular_express.txt(無(wú)論
大小寫(xiě))一
?例2:利用中括號(hào)口來(lái)搜尋集合字符
?如果要尋找test或者taste這個(gè)兩個(gè)單詞時(shí),
可以發(fā)現(xiàn),耳仰有共通的't?st'存在,那
么我們用正則表達(dá)式:
?grep-n't[ae]st'reguIar_express.txt
我們發(fā)現(xiàn)無(wú)論中括號(hào)中有幾個(gè)字符,都中代
表一個(gè)
如果找單詞中有“00”時(shí),如何表示?
如果不要單詞。。之前有g(shù)的話,我們?nèi)绻鳎?/p>
?grep-n00'reguIar_express.txt
?如果o。前不要小寫(xiě)字符,很容易的
[tbcd..….z]o。;但是這樣還是比較麻煩
我們還記的小玲字母在這里是連續(xù)的,我
們可以用[八3可;找數(shù)字,我們還可以用
前面提到的[:digit:]
?總結(jié):對(duì)口,[”及口和表格中提到的
特殊關(guān)鍵詞的了解。
?行首與行尾符:$
?如果想讓查找的某個(gè)詞在句首或句尾如何
實(shí)現(xiàn)?’
?IIel111I
?grep-n'Nhe'reguIar_express.txt
?如果只要行首出現(xiàn)小寫(xiě)字豆該如何實(shí)現(xiàn)?
?grep-n'A[a-z]'reguIar_express.txt
?行首不要字母開(kāi)頭?行首未用數(shù)字開(kāi)頭?
■注:人在口內(nèi)和口外的作用有何不同!
?如果要找出行理是小數(shù)點(diǎn).的那一行,該如
何處理N-
弋其Iit<;m
?grep-n'$'regular_express.txt
?注:這里小數(shù)去還有其它意義,所以我們
這里用轉(zhuǎn)義字符\。
?注:如果是在windows下的文本,我們可以
用dos2unix命令轉(zhuǎn)化其格式,因?yàn)槠湫形?/p>
的表示方法是不一樣的。
?空行如何查找?飛
?如果不要空行和街道用#注釋的部分,節(jié)約
用紙,我們?nèi)绾巫觯?/p>
?grep-v'八$,文件名Igrep-v'用’
?任意字符.與重復(fù)字符*
?*在做通配符甘臥代表任意多個(gè)字符,但是
在正則表達(dá)式里并不是通配符,兩者之間
是不相同的。
?小數(shù)點(diǎn)在正則表達(dá)式里代表一個(gè)任意字符。
?*代表重復(fù)前一個(gè)0到無(wú)窮多次的意思,為組
合形態(tài)。
?我們找g??d這個(gè)字符串?
?grep-n'g.dregular_express.txt
亶,3阡尊)114-
?grep-n'g*g'regular_express.txt
?對(duì)其結(jié)果進(jìn)行分析一
?grep-n"[0-9][0-9]*'reguIar_express.txt
?例5限定連續(xù)字符范圍{}
1i!
?grep-n'o\{2\}‘reguIar_express.txt
?grep-n'o\{2,5\}‘reguIar_express.txt
注:“\{2,\}”表示兩個(gè)以上
延伸正規(guī)表示法
-上節(jié)課除去空付利行首為#的行列,使用的
是grep-v?$'文件名Igrep-v'A#',
其中用到兩次管道命令;如何簡(jiǎn)化?
?Egr叩—v。$'|"#'文件名
?是分支條件的符號(hào)
分支條件
?正則表總式里的分枝條件指的是有幾種規(guī)
貝I」,如果滿足其中任意一種規(guī)則都應(yīng)該當(dāng)
成匹配,具體方法是用甘巴不同的規(guī)則分隔
開(kāi)。「川!
正則表達(dá)式的特性
?正則表達(dá)式引擎i正則表達(dá)式引擎是一種
可以處理與正則表達(dá)式的軟件。一般是應(yīng)
用程序的一部分:一般正則表達(dá)式并不互
相兼容?!?/p>
?很多引擎都很類(lèi)似,但不完全一樣,如.net
正則庫(kù),JDK正則包。
正則表達(dá)式引擎的內(nèi)部工作機(jī)制
種類(lèi)
的
有
型
兩擎:文本導(dǎo)向和與正則導(dǎo)向
擎
的
一
些
引
。非常有用的特性,如:“惰
量
性
和
反
詞
”
I'一/,只能在正則導(dǎo)向的
中
引
現(xiàn)
實(shí)
擎
?正則導(dǎo)向引擎總是返回最左邊的匹配。
?如果匹配電話卸碼?
表L常用的元字符
代號(hào)說(shuō)明
?匹配除換行符以外的任意字符
\w匹配字母或數(shù)字或下劃線或漢字
\s匹配任意的空白符
d曲數(shù)字
、b匹配單詞的開(kāi)始或結(jié)束
A匹配字符串的開(kāi)始
s匹配字符串的結(jié)束
?0\d{2}-\d{8}|0\q{3}-\d{7}這個(gè)表達(dá)式能匹配
兩種以連字號(hào)分隔的由A舌號(hào)碼:一種是三
位區(qū)號(hào),8位本地號(hào)(,二
種是4位區(qū)號(hào),號(hào)位本地號(hào)。
?\(?0\d{2}\)?[?]?\d{8}|0\d{2}[?]?\d{8}這個(gè)表
達(dá)式匹配3位區(qū)號(hào)的電話將碼,其中區(qū)號(hào)可
以用小括號(hào)括起聚,也可以不用,區(qū)號(hào)與
本地號(hào)間可以用連字號(hào)或空格間隔,也可
以沒(méi)有間隔。你可以試試用分枝條件把這
個(gè)表達(dá)式擴(kuò)展成也支持4位區(qū)號(hào)的。
?\d{5}?\d{4}|\d{5}這個(gè)表達(dá)式用于匹配美國(guó)的
郵政編碼。美國(guó)郵編的規(guī)則是5位數(shù)字,或
者用連字號(hào)間隔的9位數(shù)字。之所以要給出
這個(gè)例子是因?yàn)樗苷f(shuō)明一個(gè)問(wèn)題:使用
分枝條件時(shí),要注意各個(gè)條件的順序。如
果你把它改成\d{5}|\d{5}-\d{4}的話,那么就
只會(huì)匹配5位的郵編(以及9位郵編的前5位)。
原因是匹配分枝條件時(shí),將會(huì)從左到右地
測(cè)試每個(gè)條件,如果滿足了某個(gè)分枝的話,
就不會(huì)去再管其它的條件了
分組
到
了
我
們
提
怎
復(fù)
總
個(gè)
經(jīng)
字
符
么
重
直
接
已1
,
上
限
加
如
字
在
面
果
了
就
行
后
符
定
符
但
——
;
—
以
個(gè)
用
要
想
多
辦
復(fù)
怎
么
該
又
重
可
符
?你
這
好
定
括
小
指
來(lái)
帷
式
他
用
號(hào)
國(guó)
達(dá)
辦
表
攵
分
后
就
定
你
以
指
的
可
表
達(dá)
式
子
個(gè)
一
奏1
一
也
你
以
可
子
對(duì)
進(jìn)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 事業(yè)單位臨時(shí)工勞動(dòng)合同范本
- 抗震及安全鑒定檢測(cè)工作技術(shù)服務(wù)合同(2篇)
- 房屋合同范本(2篇)
- 打疫苗農(nóng)業(yè)技術(shù)服務(wù)合同(2篇)
- 二零二五版農(nóng)用車(chē)綠色出行推廣計(jì)劃合同4篇
- 2025年度農(nóng)家樂(lè)旅游電子商務(wù)平臺(tái)建設(shè)與運(yùn)營(yíng)承包合同4篇
- 2025年度新能源電站運(yùn)營(yíng)派遣人員勞動(dòng)合同3篇
- 2025版文化產(chǎn)業(yè)園投資建設(shè)與運(yùn)營(yíng)合同4篇
- 2025年度門(mén)面房屋租賃合同租賃房屋設(shè)施設(shè)備維護(hù)責(zé)任4篇
- 二零二五年度節(jié)能門(mén)窗安裝與能源審計(jì)服務(wù)合同3篇
- 開(kāi)展課外讀物負(fù)面清單管理的具體實(shí)施舉措方案
- 2025年云南中煙工業(yè)限責(zé)任公司招聘420人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025-2030年中國(guó)洗衣液市場(chǎng)未來(lái)發(fā)展趨勢(shì)及前景調(diào)研分析報(bào)告
- 2024解析:第三章物態(tài)變化-基礎(chǔ)練(解析版)
- 北京市房屋租賃合同自行成交版北京市房屋租賃合同自行成交版
- 《AM聚丙烯酰胺》課件
- 系統(tǒng)動(dòng)力學(xué)課件與案例分析
- 《智能網(wǎng)聯(lián)汽車(chē)智能傳感器測(cè)試與裝調(diào)》電子教案
- 客戶分級(jí)管理(標(biāo)準(zhǔn)版)課件
- GB/T 32399-2024信息技術(shù)云計(jì)算參考架構(gòu)
- 人教版數(shù)學(xué)七年級(jí)下冊(cè)數(shù)據(jù)的收集整理與描述小結(jié)
評(píng)論
0/150
提交評(píng)論