正規表示式詳解

2021-07-09 11:28:21 字數 1819 閱讀 5817

正規表示式:

基本正規表示式主要用於grep,egrep,vi,sed,awk命令中進行字串匹配。符號

意義 c

匹配字母c

. 匹配任意單個字元 *

匹配前乙個字元出現零次或多次

. *匹配任意多個任意字元

匹配集合中的任意單個字元,括號中為乙個集合

[x-y]

匹配連續的字串範圍 ^

匹配字串的開頭 $

匹配字串的結尾

[^]匹配否定,對括號中的集合取反 \

匹配轉義後的字串 \

匹配前乙個字元出現n次

\匹配前乙個字元重複至少出現n次

\匹配前乙個字元重複

n~m次

\(\) 將

\(與\)之間的內容儲存在

」保留空間

」,最大儲存9個

\n 通過

\1至\9呼叫保留空間中的內容

舉例:(1)   查詢:與0:之間包含兩個字元的字串,並顯示該行

grep :..0: /etc/passwd

(2 )查詢至少包含乙個0的行

grep 00* /etc/passwd

(3) 查詢包含oot或者ost的行      

grep o[os]t/etc/passwd

(4) 查詢以ro開頭的行

grep ^ro /etc/passwd

(5) 查詢以bash結尾的行

grep bash$ /etc/passwd

(6)   查詢bin/後面不跟n的行

grep bin/[^n] /etc/passwd

(7)查詢0出現一次或兩次的行    

grep '0\'/etc/passwd

(8)查詢首尾均為root,其中包含任意多個root的字串,並顯示該行

grep '\(root\).*\1' /etc/passwd

(9)查詢包含以root:開頭:root結尾字序列  

grep '\(root\)\(:\).*\2\1' /etc/passwd

(10)過濾檔案的空白行 

grep ^$ /etc/passwd

針對例(9)給出幾個測試,希望能幫助理解。

擴充套件正規表示式:

主要用於egrep和awk命令的字串匹配符號

意義 等同於基本正規表示式的\

+ 匹配前乙個字元出現一次或多次 ?

匹配前乙個字元出現零次或一次 |

匹配邏輯或者,即匹配

|前或後的字串 ()

匹配正則集合

(1)   查詢0出現一次和兩次的行

egrep '0' /etc/passwd

(2)   查詢至少包含乙個0的行

egrep '0+' /etc/passwd

(3) 查詢包含root或者admin的行

egrep 'root|admin'/etc/passwd

以上參考了《linux運維之道》部分內容。

正規表示式詳解

正規表示式主要作用 分割 匹配 查詢 替換 正規表示式中包括的元素 1.原子 普通字元 a z a z 0 9 原子表 轉義字元 2.元字元 有特殊功能的字元 3.修正模式符 系統內建部分字元,例如 i m s u 原子 1.a z a z 0 9 最常見的字元 2.abc 用圓括號包含起來的單元符...

正規表示式詳解

正規表示式 regular expression 又稱正規表示式 規則表示式等,是電腦科學的乙個概念。正規表示式使用單個字串來描述 匹配一系列匹配某個句法規則的字串,也通常用來檢索 替換那些匹配某個模式的文字。下面從以下方面開始講述正規表示式在python中的應用。1.在python中使用,首先需要...

詳解正規表示式

c 字元c 0n 八進位制0n代表的字元 0 n 7 0nn 八進位制0nn代表的字元 0 n 7 0mnn 八進位制0mnn代表的字元 0 m 3,0 n 7 xnn 十六進製制 0xnn所代表的字元 uhhhh 十六進製制 0xhhhh所代表的字元 t製表符 n換行符 r回車符 f換頁符 a報警...