新聞中心
這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
詳解grep正則表達(dá)式
正則表達(dá)式只是字符串的一種描述,只有和支持正則表達(dá)式的工具相結(jié)合才能進(jìn)行字符串處理,本篇文中重點(diǎn)為大家講解一下grep正則表達(dá)式具體使用方法。

grep匹配模式
grep按下述方式接受選項(xiàng)和參數(shù)(其中,regex表示正則表達(dá)式)
?格雷普 [選項(xiàng)] 雷格克斯 [文件]?
其中options主要為下表:
選項(xiàng) 含義 功能描述
-i ignore case 忽略大小寫(xiě)
-v invert match 不匹配匹配的
-l file-with-match 輸出匹配的文件名
-L file-without-match 輸出不匹配的文件名
-c count 輸出匹配的數(shù)目(行數(shù))
-n number 輸出匹配行的同時(shí)在前面加上文件名及在文件名中的行數(shù)
-h no-filename 抑制文件名的輸出
舉例說(shuō)明
假設(shè)有三個(gè)文件del1、del2、del3三個(gè)文件的內(nèi)容如下
例子
在Linux中使用grep正則表達(dá)式入門(mén)在Linux中使用grep正則表達(dá)式入門(mén)
特殊字符
符號(hào) 含義 舉例
^ 開(kāi)始標(biāo)記 "^abc"滿(mǎn)足的例子abc、abcd
^ 非(在[]內(nèi)) "[^abc]"滿(mǎn)足的例子:ddd、mpd
$ 結(jié)束標(biāo)記 ”abc$”滿(mǎn)足的例子abc、mmabc
. 任意字符 "a.c"滿(mǎn)足的例子abc、fapcc
\"\ 匹配單詞結(jié)束 "abc\>"滿(mǎn)足的例子abc、pmrabc | 或 "AAA|BBB"滿(mǎn)足的例子AAA、BBBpp
范圍
符號(hào) 含義 舉例
? 匹配前一個(gè)字符0或1次 "abc?"滿(mǎn)足的例子ab、mabcd
* 匹配前一個(gè)字符≥0次 "abc*"滿(mǎn)足的例子abbb、abcdk
+ 匹配前一個(gè)字符≥1次 "abc+"滿(mǎn)足的例子abcd、abcccdd
{} {m}、{m,n}、{m,}、{,n}分別為匹配前一個(gè)字符m次、m到n次、≥m次、≤n次 "abc\{3,5\}"滿(mǎn)足的例子abcccc、abcccccc
[] []內(nèi)如果不是范圍,選其一;是范圍的話,范圍內(nèi)選其一 "m[abc]p"滿(mǎn)足的例子acpd;m[1-9]p滿(mǎn)足的例子m8pp
() 將候選的所有元素放在()內(nèi),用|隔開(kāi) "a(1|2|3)bc"滿(mǎn)足的例子a1bc、mba3bcd
注意:{}在鄭則表達(dá)式中需要轉(zhuǎn)移,而{}()不需要。
注意理解{}范圍的例子:
標(biāo)準(zhǔn)字符類(lèi)
字符類(lèi) 釋義
[:alnum:] 字母和數(shù)字,與[A-Za-z0-9]等價(jià)
[:word:] [:alnum:]加上下劃線_
[:alpa:] 字母,與[A-Za-z]等價(jià)
[:digit:] 數(shù)字,與[0-9]等價(jià)
[:xdigit:] 十六進(jìn)制字符,與[0-9A-Fa-f等價(jià)]
[:blank:] 空格和制表符
[:graph:] 可見(jiàn)字符,靠擴(kuò)33~126
[:lower:] 小寫(xiě)字母
[:upper:] 大寫(xiě)字母
[:print:] 可打印字符
[:space:] 空白字符,等價(jià)于[\t\r\n\v\f]
[:punct:] 標(biāo)點(diǎn)符號(hào)
[:cntrl:] ASCII控制碼,包括字符0~31以及127
文章標(biāo)題:詳解grep正則表達(dá)式
分享路徑:http://www.5511xx.com/article/djeogdo.html


咨詢(xún)
建站咨詢(xún)
