目錄
正規表示式 概述
基礎正規表示式
「*」前乙個字元匹配 0 次,或任意多次
「.」 匹配除了換行符外任意乙個字元
「^」匹配行首,「$」匹配行尾
「」 匹配中括號中指定的任意乙個字元,只匹配乙個字元
「[^]」 匹配除中括號的字元以外的任意乙個字元
「\」 轉義符
「\」表示其前面的字元恰好出現 n 次
「\」表示其前面的字元出現不小於 n 次
「\」匹配其前面的字元至少出現 n 次,最多出現 m 次
擴充套件正規表示式
正規表示式綜合案例
其實這種區別只在 shell 當中適用,因為用來在檔案當中搜尋字串的命令,如 grep、awk、sed 等命令可以支援正規表示式,而在系統當中搜尋檔案的命令,如 ls、find、cp 這些命令不支援正規表示式,所以只能使用 shell 自己的萬用字元來進行匹配了。
元字元
作 用* 前乙個字元匹配 0 次或任意多次。 .
匹配除了換行符外任意乙個字元。 ^
匹配行首。例如:^hello 會匹配以 hello 開頭的行。
匹配中括號中指定的任意乙個字元,只匹配乙個字元。例如:[aoeiu] 匹配任意乙個母音字母,[0-9] 匹配任意一位數字,[a-z][0-9]匹配小寫字和一位數字構成的兩位字元。
[^]匹配除中括號的字元以外的任意乙個字元。例如:[^0-9] 匹配任意一位非數字字元,[^a-z] 表示任意一位非小寫字母。
\ 轉義符。用於取消講特殊符號的含義取消。 \
表示其前面的字元恰好出現 n 次。例如:[0-9]\ 匹配 4 位數字,[1][3-8][0-9]\ 匹配手機號碼。
\表示其前面的字元出現不小於 n 次。例如: [0-9]\ 表示兩位及以上的數字。
\表示其前面的字元至少出現n次,最多出現m次。例如:[a-z]\ 匹配 6 到 8 位的小寫字母。$
匹配行尾。例如:hello&會匹配以 hello 結尾的行。
#匹配在字母 s 和字母 i 之間有最少乙個 a,最多三個 a
[root@localhost ~]# grep "sa\i" test_rule.txt
#匹配在字母 s 和字母 i 之間有最少兩個 a,最多三個 a
【注】:參考尚矽谷沈超老師教程
shell程式設計之正規表示式
1 正規表示式 其實就是一種規範,也就是模式,約束字串等符合什麼樣的格式,比如要求字串必須a開頭,t結尾,符合這樣條件的字串就要用到正規表示式。2 兩套庫 gnu linux中有有兩套庫用足正規表示式程式設計,posix庫,自帶的 pcre庫,perl,功能比較全,本文採用perl。3 初體驗 eg...
Shell程式設計之正規表示式
1.萬用字元 2.正規表示式與萬用字元元字元作用 前乙個字元匹配0次或任意多次 匹配除了換行符外任意乙個字元 匹配行首。例如 hello會匹配以hello開頭的行 匹配行尾。例如 hello 會匹配以hello結尾的行 匹配中括號中指定的任意乙個字元,只匹配乙個字元 匹配除中括號的字元意外的任意乙個...
Shell程式設計之正規表示式總結
正規表示式 regular expression 是一種文字模式,描述了一種字串匹配模式。可以用來檢查乙個串是否包含有某種子串。在linux的shell程式設計中廣泛運用。正規表示式分為兩類 基本正規表示式 basic regular expression bre和擴充套件正規表示式 extende...