正規表示式和grep

2021-09-17 23:56:48 字數 1152 閱讀 5133

正規表示式(regular expression, re)是一種字元模式,用於在查詢過程中匹配指定的字元。

在大多數程式裡,正規表示式都被置於兩個正斜槓之間;例如/lv[o0]e/就是由正斜槓界定的正規表示式,它將匹配被查詢的行中任何位置出現的相同模式。在正規表示式中,元字元是最重要的概念。

shell萬用字元 元字元

*  任意多個字元  ?     [ ] 指定的乙個字元   [  -  ]   指定範圍的乙個字元

正則元字元:

基本表示式 : .  單個字元      [ ]  [^]指定的乙個字元   [  -  ]   指定範圍的乙個字元

次數匹配:     *  任意次數 (>=0)    \? 0或者1個 

x\  x重複出現m次    x\ x重複出現m次以上    x\ x重複出現至少m,最多到n次

錨定: ^ 行首   $ 行尾     \ <   \b  錨定詞首     \>   \b 錨定詞尾      

\( .\) 匹配稍後將要使用的標籤 和 \1 一起使用

擴充套件元字元(使用 \ 轉義或者egrep):

+   1個或者多個(>=1使用 \ 轉義或者egrep)     ? 0或者1個               a|b   或者     lo( able|re)組字元   

( ...)( ...) 匹配稍後將要使用的標籤 和 \1\2\3一起使用   x    x  x

poxix字符集

[:alnum:] 字母與數字字元     [:alpha:] 字母字元    [:blank:]  空格與製表符

[:digit:]數字字母                   [:lower:]  小寫字母    [:upper:]  大寫字母

[:punct:] 標點符號   [:space:] 包括換行符、回車等在內的所有空白

空行  /^$/   /^[\t]*$/      注釋行 /^#/   /^[\t]*#/

grep  -i  忽略大小寫    -l只列出匹配行所在的檔名   -n在每一行前面加上他所在檔案中的相對行號

-c  顯示匹配成功的行數   -s 禁止顯示檔案不存在或者檔案不可讀的錯誤資訊

-q靜默    -v反向查詢   -r遞迴   -o顯示匹配的行  

找到返回0  沒有找到返回1    找不到檔案路徑返回2

grep和正規表示式

常用引數 f 規則檔案 file 規則檔案 指定規則檔案,其內容含有乙個或多個規則樣式,讓grep查詢符合規則條件的檔案內容,格式為每行乙個規則樣式。grep規則表示式 錨定行的開始 如 grep匹配所有以grep開頭的行 錨定行的結束,如 grep 匹配所有以grep結尾的行 匹配 乙個非換行符的...

grep和正規表示式

grep語法 正規表示式元字元 擴充套件正規表示式元字元 grep grep global search regular expression re and print out the line 是一款文字過濾 模式 pattern 工具。作用 文字搜尋工具,根據使用者指定的 模式 對目標文字逐行進...

grep和正規表示式

正規表示式示例表 字 符 意 義 示 例 任意長度的字串。a 表示 空字串 aaaa a 長度為0或者1的字串。a?表示 空字串和a。長度為乙個或者多個的字串。a 表示 a aa aaaaaa 任意字元。a.表示 a後跟任意字元。代表上一規則重複數目 包含一組匹配花括號,裡面有兩個數字和乙個字元,表...