正規表示式

2021-10-03 16:05:28 字數 1409 閱讀 4321

正規表示式是一種文字模式,包括普通字元(例如,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正規表示式 編寫正規表示式

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