小編給大家分享一下Linux--shell腳本之正則表達(dá)式的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
一、正則表達(dá)式的概念及特點(diǎn):
正則表達(dá)式是對(duì)字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個(gè)“規(guī)則字符串”,這個(gè)“規(guī)則字符串”用來(lái)表達(dá)對(duì)字符串的一種過(guò)濾邏輯。規(guī)定一些特殊語(yǔ)法表示字符類(lèi)、數(shù)量限定符和位置關(guān)系,然后用這些特殊語(yǔ)法和普通字符一起表示一個(gè)模式,這就是正則表達(dá)式(Regular Expression)。
給定一個(gè)正則表達(dá)式和另一個(gè)字符串,我們可以達(dá)到如下的目的:
1. 給定的字符串是否符合正則表達(dá)式的過(guò)濾邏輯(稱(chēng)作“匹配”);
2. 可以通過(guò)正則表達(dá)式,從字符串中獲取我們想要的特定部分。
正則表達(dá)式的特點(diǎn):
1. 靈活性、邏輯性和功能性非常的強(qiáng);
2. 可以迅速地用極簡(jiǎn)單的方式達(dá)到字符串的復(fù)雜控制。
3. 對(duì)于剛接觸的人來(lái)說(shuō),比較晦澀難懂。
由于正則表達(dá)式主要應(yīng)用對(duì)象是文本,因此它在各種文本編輯器場(chǎng)合都有應(yīng)用,小到著名編輯器EditPlus,大到Microsoft Word、Visual Studio等大型編輯器,都可以使用正則表達(dá)式來(lái)處理文本內(nèi)容。
二、正則表達(dá)式有三部分組成:
例如找出多有符合x(chóng)xxxx@xxxx.xxx模式的字符串(也就是mail地址),要求x可以是字母、數(shù)字、下劃線(xiàn)、小數(shù)點(diǎn)、短劃線(xiàn),email地址的每一部分可以有一個(gè)或多個(gè)x字符,例如abc@ed.com、1_2@789-6.54等,當(dāng)然,符合這個(gè)模式的并不一定是合法的mail地址,但至少可以做一次初步的篩選,篩選掉類(lèi)似于a.b、c@d等不符合的字符串。再比如說(shuō),找出所有符合yyy.yyy.yyy.yyy模式的字符串(IP地址),要求y是0~9的數(shù)字,IP地址的每一部分可以有1~3個(gè)y字符。
1、字符類(lèi)
字符類(lèi)(Character Class):上例中的x和y,他們?cè)谀J街斜硎疽粋€(gè)字符,但是取值范圍是一類(lèi)字符中的任意一個(gè)。
eg:
2、數(shù)量限定符
數(shù)量限定符(Quantifier): 郵件地址的每一部分可以有一個(gè)或多個(gè)x字符,IP地址的每一部 分可以有1-3個(gè)y字符
eg:
3、位置限定符
位置限定符(Anchor):描述各種字符類(lèi)以及普通字符之間的位置關(guān)系,例如郵件地址分三部分,用普通字符@和.隔 開(kāi),IP地址分四部分,用.隔開(kāi),每一部分都可以用字符類(lèi)和數(shù)量限定符 描述。為了表示位置關(guān)系,需要位置限定符的概念,將在下面介紹。
eg:
4、特殊字符
eg:
以上是“Linux--shell腳本之正則表達(dá)式的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
本文題目:Linux--shell腳本之正則表達(dá)式的示例分析-創(chuàng)新互聯(lián)
標(biāo)題路徑:http://jinyejixie.com/article44/psiee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、網(wǎng)站維護(hù)、定制網(wǎng)站、電子商務(wù)、品牌網(wǎng)站制作、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容