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