正規表示式

2021-08-25 01:17:03 字數 1466 閱讀 4202

一.基礎正規表示式

grep:分析一行資訊,若其中有我們想要的資訊,就將該行取出來

grep [-acinv] '搜尋字串' filename

-a:將二進位制檔案以文字檔案的方式搜尋資料

-c:計算找到搜尋字串的次數

-i:忽略大小寫

-n:順便輸出行號

-v:反向選擇,即顯示出沒有'搜尋字串'內容的那一行

例子:last | grep 'root'

例子:last | grep -v 'root'

last | grep 'root'| cut -d ' ' -f 1

例1.搜尋特定字串

從檔案中取得'the'字串

grep -n 'the' filename

當該行沒有'the'就取出來

grep -nv 'the' filename

例2.利用搜尋集合字元

中不論有幾個字元都代表有乙個字元

grep -n 'te[ae]st' filename

[^]是的反向選擇

grep -n '[^g]oo' filename

例3.行首^和行尾$字元

查詢以'the'開頭的行

grep -n '^the' filename

查詢以小寫字母開頭

grep -n '^[a-z]' filename

查詢非字母開頭的

grep -n '^[^a-za-z]' filename

找出空行

grep -n '^$' filename

略去空行和注釋行

grep -v '^$' filename | grep -v '^#'

例4.任意乙個字元.和重複字元*

grep -n 'g..d' filename :查詢共有四個字串,開始是g結束是d

grep -n '000*' filename :至少倆個00字串

grep -n 'g00*g' filename :開頭和結尾都是g,中間有乙個以上o

grep -n 'g.*g' filename :開頭和結尾都是g,中間可有可無

找出任意數字的行 grep -n '[0-9][0-9]*' filename

例5.限定連續重複字元範圍

grep -n '0\' filename :找到兩個0的字串

grep -n 'go\g' filename :找到g後面有2~5個o,然後在接個g的字串

grep -n 'go\g' filename :找到兩個以上的

二.擴充套件正規表示式

上面的乙個例子可以這樣:egrep -v '^$|^#' filename找出不是空白行和注釋行

+:重複乙個或者乙個以上

?:0個或者1個

|:用或的方式找出字串

():找出使用者組字串grep -n 'g(la|oo)d' filename

意思是搜尋glad或者是good字串

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式 表示式

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...

Linux正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...