正規表示式是一種文字模式,包括普通字元(例如,a 到 z 之間的字母)和特殊字元(稱為"元字元")。正規表示式使用單個字串來描述、匹配一系列匹配某個句法規則的字串
元字元:
字元匹配
1、 . :匹配任意單個字元; 類似glob中的? grep 「r…t」 /etc/passwd
2、 :匹配指定範圍內的任意單個字元;
3、 [^]:匹配指定範圍外的任意單個字元; 脫字元
4、[:digit:]、數字[:lower:]、小寫字母[:upper:]、大寫字母[:alpha:]所有字母、[:alnum:]數字和 字母、[:punct:]所有標點符號、[:space:] 空格
grep:文字過濾工具 正規表示式引擎,基於使用者指定的「模式」,對目標檔案逐行進行匹配檢查,列印匹配到的行,預設列印到終端視窗grep [options] pattern [file...]
grep [options] [-e pattern | -f file] [file...]
egrep fgrep 預設使用擴充套件正規表示式
--color=auto:高亮顯示匹配到的文字
-i:忽略字元大小寫
-n:顯示行號
-e:支援使用擴充套件正規表示式
-o:列印匹配到的行
-v:顯示不能被匹配到的行
—a #:後幾行
-b #:前幾行
-c #:前後各幾行
匹配次數
*:匹配其前面的字元任意次。0次,1次或者多次
.*:匹配任意長度的任意字元
\?:匹配其掐面的字元0次或者1次,最多一次
\+:匹配其前面的字元1次或者多次,至少一次
\:匹配其前面的字元m次
\:匹配其前面的字元至少m次,至多n次
\:至多n次
\:至少m次
位置錨定
^:行首錨定,用於模式的最左側
$:行尾錨定,用於模式的最右側
^$:空白行
^[[:space:]]*$
^pattern$:用pattern來匹配整行
\《或者\b:詞首錨定,用於單詞的左側
\>或者\b:詞尾錨定,用於單詞的右側
\
1、顯示/etc/passwd檔案中不以/bin/bash結尾的行;
2、顯示/etc/passwd中的兩位數或者三位數
3、找出 netstat -tan 命令結果中以listen後跟乙個或者多個空白字元結尾的行
正規表示式 正規表示式 總結
非負整數 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正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...