Linux中正規表示式的使用詳解

2021-07-25 04:56:45 字數 1419 閱讀 4116

在講正規表示式之前先說一下grep命令的使用

grep [-a c i n v] '搜尋字串' 檔名

此命令用於在檔案中搜尋包含 '搜尋字串' 的行

-a 把二進位制檔案以文字檔案的形式搜尋

-c 統計搜尋到的行數

-i   不計大小寫,也就是說搜尋時 認為a與a是相同的

-n 輸出行號

-v   反向搜尋 就是搜尋不包含 '搜尋字串' 的行

正規表示式語法

任意取一    如grep -n 'abc[de]g' file.txt這個命令是說 在file.txt檔案中搜尋包含 abcdg 或abceg的行

[^]取反        如grep -n 'abc[^b]g file.txt指 在file.txt檔案中搜尋 'abc(此處不能是b)g ' 的行

^ 行首grep -n '^abc' file.txt行首必須是abc的行

$ 行尾grep -n '$abc' file.txt行尾必須是abc的行

.任意乙個字元 grep -n 'abc.d' file.txt 指匹配abc(此處為任意乙個字元)d 如abckd,abc9d都正確,但是如果abc 和 d中間的字元大於乙個則不匹配

* 重複字元,重複一次或無數次   grep -n 'abc*' file.txt   指 匹配字串 abccc…… 也就是前面兩位是ab後面可以有無數個c 也可以沒有c

{} 重複次數限定符,由於這個符號在linux中有特殊的意義所有使用前要加\轉意字元 grep -n 'ac\' file.txt 指匹配 acc accc acccc accccc 的字串,也就說c字元必須出現最少2次最高5,否則就不匹配

- 範圍限定符 grep -n 'ab[a-z]c' file.txt 指匹配 ab(這裡必須是a到z這26個字母中的乙個)c

下面為擴充套件正規表示式 必須通過命令 egrep可以使用

| 多次查尋 如egrep -n '^a|a$' text.file 此命令相當於執行一次grep -n '^a' text.file 再執行一次 grep -n 'a$' text.file

+ 重複一次或多次,這個符號與*差不多,但+要求字元最少出現一次

? 重複0次或一次 這個要求字元可以不出現,但出現只能出現一次

() 組查詢   如 egrep -n 'a(ab|dg)k' text.file 指匹配 字串 aabk或adgk

linux中正規表示式簡介

1.正規表示式 正規表示式 regular expression,簡寫re 是通過一些特殊字元的排列組成。正規表示式並不是乙個工具程式,而是一種字串處理的標準依據。如果想要使用正規表示式來處理字串,就必須使用支援正規表示式的工具程式才行,這類工具有很多,比如sed,awk,grep等。值得注意的是,...

PLSQL中正規表示式使用

原 2018年10月08日 14 48 11 寫 也要符合基本法 閱讀數 2008 更多分類專欄 oracle學習筆記 regexp like 返回指定字串是否符合給定的正規表示式 regexp substr 返回在指定字串中截取出的符合給定正規表示式的子串 regexp instr 返回在指定字串...

python中正規表示式使用

1 正規表示式的常用操作符 操作符說明例項 表示任何單個字元 字符集,對單個字元給出取值範圍 abc 表示a b c,a z 表示a到z單個字元 非字符集,對單個字元給出排除範圍 abc 表示非a或b或c的單個字元 前乙個字元0次或無限次擴充套件 abc 表示ab abc abcc abccc等 前...