正規表示式 grep

2021-09-21 19:50:28 字數 2402 閱讀 8979

正規表示式 (grep)

grep (global search regular expression(re) and print out the line,全面搜尋正規表示式並把行列印出來)是一種強大的文字搜尋工具,它能使用正規表示式搜尋文字,並把匹配的行列印出來。

一:語法

grep -aceinv 『字串' filename

引數說明:

-a當對binary檔案搜尋時使用

-c

計算次數

-e

兩個表示式連到一起

-i

忽略大小寫的不同

-n

輸出行號

-v

反向選擇

字串^word  

搜尋行首為

(word)的行

word$  

搜尋行尾為

(word)的行

.

代表任意乙個字元,一定是乙個任意字元

\       

將特殊符號的特殊意義去除

*      

重複零個或多個的前乙個

re 字元

[ ]     代表乙個待搜尋的字元

[ - ]     中的減號 -代表兩個字元之間的所有連續字元

[^abc ]  代表不包括abc 如grep -n [^a-z]不搜尋大寫

\  連續n 到m 

個的(前乙個re 字元)

\    連續 n 個的前乙個 re 字元

\   連續 n 個以上的前乙個 re 字元

\(..\) 

乙個字元單位,如

'\(love\)'

,love

被標記為1。

egrep 

是grep –e

+    

重複零個或多個的前乙個

re 字元

?    

零個或乙個前乙個

re 字元

|    

用或( or )

的方式找出數個字串

( )乙個字元單位

三:常用正規表示式

1.常用的正規表示式

[\u4e00-\u9fa5]      //匹配中文字元

[^\x00-\xff]            //匹配雙位元組字元(包括漢字在內)

\n\s*\r                     //匹配空白行的正規表示式

^\s*|\s*$                //匹配首尾空白字元

[a-za-z]+://[^\s]*    //匹配**url

^[a-za-z][a-za-z0-9_]$  //匹配帳號是否合法(字母開頭,允許5-16位元組,允許字母數字下劃線)

\d-\d|\d-\d        //匹配國內**號碼

\d|\d                        //匹配身份證

\d+\.\d+\.\d+\.\d+                   //匹配ip位址

]*>.*?|<.>             //匹配html標記的正規表示式

\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*   //匹配email位址

2.

匹配特定數字

^[1-9]\d*$     //匹配正整數

^-[1-9]\d*$   //匹配負整數

^-?[1-9]\d*$  //匹配整數

^[1-9]\d*|0$  //匹配非負整數(正整數 + 0)

^-[1-9]\d*|0$ //匹配非正整數(負整數 + 0)

^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ //匹配正浮點數

^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ //匹配負浮點數

^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$     //匹配浮點數

^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$   //匹配非負浮點數+ 0

^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$//匹配非正浮點數+0

3.

匹配特定字串

^[a-za-z]+$//匹配由26個英文本母組成的字串

^[a-z]+$      //匹配由26個英文本母的大寫組成的字串

^[a-z]+$       //匹配由26個英文本母的小寫組成的字串

^[a-za-z0-9]+$//匹配由數字和26個英文本母組成的字串

^\w+$

//匹配由數字、

26個英文本母或者下劃線組成的字串

grep正規表示式

grep的工作方式是這樣的,它在乙個或多個檔案中搜尋字串模板。如果模板包括空格,則必須被引用,模板後的所有字串被看作檔名。搜尋的結果被送到螢幕,不影響原檔案內容。grep可用於shell指令碼,因為grep通過返回乙個狀態值來說明搜尋的狀態,如果模板搜尋成功,則返回0,如果搜尋不成功,則返回1,如果...

Grep正規表示式

grep正規表示式 要用好grep這個工具,其實就是要寫好正規表示式,所以這裡不對grep的所有功能進行例項講解,只列幾個例子,講解乙個正規表示式的寫法。ls l grep a 通過管道過濾ls l輸出的內容,只顯示以a開頭的行。grep test d 顯示所有以d開頭的檔案中包含test的行。gr...

grep正規表示式

文字查詢需要grep global research 根據模式,搜尋文字,並將符合模式的文字行顯示出來。pattern 文字字元和正規表示式的元字元組合而成的匹配條件 man grep 檢視幫助 查詢 etc passwd檔案包含root的內容 root iz233y80y23z grep root...