正則表達(dá)式基礎(chǔ)_第1頁
免費(fèi)預(yù)覽已結(jié)束,剩余2頁可下載查看

下載本文檔

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

文檔簡介

1、正則表達(dá)式基礎(chǔ)一、表達(dá)式基礎(chǔ) 元字符(metacharacters)是用來闡釋字符表達(dá)式意義的字符,簡言之,元字符就是描述字符的字符,它用于對(duì)字符表達(dá)式的內(nèi)容、轉(zhuǎn)換及各種操作信息舉行描述。 正則表達(dá)式是由一串字符和元字符構(gòu)成的字符串,簡稱re(regular expression)。 正則表達(dá)式的主要功能是文本查詢和字符串操作,正則表達(dá)式可以匹配文本的一個(gè)字符或字符集合。linux是一套可免費(fèi)用法和自由傳揚(yáng)的類unix操作系統(tǒng) a、b、1、2等字符屬于一般字符,一般字符可以根據(jù)字面意思理解,如:a只能理解為英文的小寫字母a,沒有其他躲藏含義。 而*、 等元字符,shell給予了它們超越字面意思

2、的意義,如:*符號(hào)的字面意義只是一個(gè)符號(hào),而事實(shí)上卻表示了重復(fù)前面的字符0次或多次的躲藏含義 基本的正則表達(dá)式元字符集合及意義 650) this.wth=650;" border="0" alt="" src="/uploads/allimg/111216/11140j634-0.png" /> * 符號(hào)用于匹配前面一個(gè)一般字符的0次或多次重復(fù) hel*o: *符號(hào)前面的一般字符是l,*字符就表示匹配l字符0次或多次,如字符串helo、hello、hellllllo都可以由hel*o來表示 . 符號(hào)用于匹配隨意一個(gè)字

3、符 73.表示前面三個(gè)字符為隨意字符,第4和第5個(gè)字符是7和3,最后一個(gè)字符為隨意字符,如xcb738、4j973u都能匹配上述字符串 符號(hào)用于匹配行首,表示行首的字符是字符后面的那個(gè)字符 cloud表示匹配以cloud開始的行 $ 符號(hào)匹配行尾,$符號(hào)放在匹配字符之后a、b、1、2等字符屬于一般字符,一般字符可以根據(jù)字面意思理解,如:a只能理解為英文的小寫字母a,沒有其他躲藏含義。 micky$表示匹配以micky結(jié)尾的全部行 $ 表示空白行 匹配字符集合,該符號(hào)支持窮舉辦法列出字符集合的全部元素 0123456789、0-9 a-za-z a-za-z* 匹配全部英文單詞 符號(hào)是轉(zhuǎn)義符,用

4、于屏蔽一個(gè)元字符的特別意義 . $ 符號(hào)是精確匹配符號(hào),該符號(hào)利用符號(hào)屏蔽 符號(hào) the 精確匹配單詞the,them, they等不匹配 系列符號(hào)表示前一個(gè)字符的重復(fù) n:匹配前面字符浮現(xiàn)n次,如 jo3b 匹配jooob n,:匹配前面字符起碼浮現(xiàn)n次,如jo3,b匹配jooob、joooob、jooooob等字符串 n,m:匹配前面字符浮現(xiàn)n次與m次之間,如jo3,6b匹配jooob、joooooob等字符串 a-z 5: 匹配5個(gè)小寫英文字母,比如hello、house等 二、正則表達(dá)式擴(kuò)展 awk和perl等linux工具還支持正則表達(dá)式擴(kuò)展出來的一些元字符,這些元字符如下表所示 6

5、50) this.width=650;" border="0" alt="" src="/uploads/allimg/111216/11140lc5-1.png" /> 三、通配 通配(globbing)是把一個(gè)包含通配符的非詳細(xì)文件名擴(kuò)展到存儲(chǔ)在計(jì)算機(jī)、服務(wù)器或者網(wǎng)絡(luò)上的一批詳細(xì)文件名的過程 最常用的通配符包括正則表達(dá)式元字符:?、*、等,通配符與元字符意義不徹低相同: *符號(hào)不再表示其前面字符的重復(fù),而是表示隨意位的隨意字符 ?字符表示一位的隨意字符 符號(hào)在通配中不代表行首,而是代表取反意義 舉三個(gè)例子: roo

6、tzawu globus -l *.awk rootzawu globus ls -l 0?.pem rootzawu globus ls -l a-h*.awk* 四、 grep是一種強(qiáng)大的文本搜尋工具,它能用法正則表達(dá)式搜尋文本,并把匹配的行打印出來,grep也是linux中最廣泛用法的指令之一 grep 選項(xiàng)模式文件 選項(xiàng)如下頁表所示 模式可以是字符串,也可以是變量,還可以是正則表達(dá)式。需要解釋的是,無論模式是何種形式,只要模式中包含空格,就需要用法雙引號(hào)將模式括起來,舉例: rootzawu globus grep certifie 00.pem rootzawu globus gre

7、p user certificate 00.pem rootzawu globus grep user certificate 00.pem 文件可以有多個(gè),亦可以用通配來表示 grep指令選項(xiàng)及其意義 650) this.width=650;" border="0" alt="" src="/uploads/allimg/111216/11140m4b-2.png" /> 1)舉幾個(gè)例子解釋grep選項(xiàng)的使用 (1)grep -c :表示輸出匹配字符串的數(shù)量 650) this.width=650;" bo

8、rder="0" alt="" src="/uploads/allimg/111216/11140h217-3.png" /> 表示08.pem文件中包有4行包含certificate (2)grep -n:表示列出全部的匹配行,并顯示行號(hào) 650) this.width=650;" border="0" alt="" src="/uploads/allimg/111216/11140il9-4.png" /> 表示08.pem文件的第一行包含certi

9、ficate并顯示整行 (3)grep -v:顯示不包含模式的全部行,取反 650) this.width=650;" border="0" alt="" src="/uploads/allimg/111216/11140l3f-5.png" /> 和-c參數(shù)合并用法,表示08.pem文件中不包含certificate的有3行 (4)grep -w:元字符不在被說明為特別含義 650) this.width=650;" border="0" alt="" src=&qu

10、ot;/uploads/allimg/111216/11140j0i-6.png" /> 首先顯示文件包含有cer開始的文本行,加-w以后表示搜尋包含cer*字符串的文本行 (5)grep -x:匹配整行 650) this.width=650;" border="0" alt="" src="/uploads/allimg/111216/11140jl5-7.png" /> 可以看出加-x只顯示包含world的行 2)grep和正則表達(dá)式結(jié)合用法的例子 650) this.width=650;&quo

11、t; border="0" alt="" src="/uploads/allimg/111216/11140h551-8.png" /> 第一個(gè)表示搜尋空白行,其次個(gè)是搜尋非空白行并打印行號(hào) 650) this.width=650;" border="0" alt="" src="/uploads/allimg/111216/11140h459-9.png" /> 首先查找的行,發(fā)覺seuouocn也被匹配由于 . 的意識(shí)的隨意一個(gè)字符,下面用 轉(zhuǎn)義符將 . 說明為字面含義只匹配 這里就先舉2個(gè)例字,其他的也有好多正則需要我們?nèi)u漸發(fā)覺。 五、gr

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論