shell 常用正規表示式
常用的正則表達^ # 行首定位
$ # 行尾定位
. # 匹配除換行符以外的任意字元
* # 匹配0或多個重複字元
+ # 重複一次或更多次
? # 重複零次或一次
? # 結束貪婪因子 .*? 表示最小匹配
# 匹配一組中任意乙個字元
[^] # 匹配不在指定組內的字元
\ # 用來轉義元字元
< # 詞首定位符(支援vi和grep) # 詞尾定位符(支援vi和grep) love>
x\ # 重複出現m次
x\ # 重複出現至少m次
x\ # 重複出現至少m次不超過n次
x? # 匹配出現零次或一次的大寫字母 x
x+ # 匹配乙個或多個字母 x
() # 括號內的字元為一組
(ab|de)+ # 匹配一連串的(最少乙個) abc 或 def;abc 和 def 將匹配
[[:alpha:]] # 代表所有字母不論大小寫
[[:lower:]] # 表示小寫字母
[[:upper:]] # 表示大寫字母
[[:digit:]] # 表示數字字元
[[:digit:][:lower:]] # 表示數字字元加小寫字母
元字元
\d # 匹配任意一位數字\d # 匹配任意單個非數字字元
\w # 匹配任意單個字母數字下劃線字元,同義詞是 [:alnum:]
\w # 匹配非數字型的字元
字元類:空白字元
\s # 匹配任意的空白符\s # 匹配非空白字元
\b # 匹配單詞的開始或結束
\n # 匹配換行符
\r # 匹配回車符
\t # 匹配製表符
\b # 匹配退格符
\0 # 匹配空值字元
字元類:錨定字元
\b # 匹配字邊界(不在中時)\b # 匹配非字邊界
\a # 匹配字串開頭
\z # 匹配字串或行的末尾
\z # 只匹配字串末尾
\g # 匹配前一次m//g離開之處
捕獲
(exp) # 匹配exp,並捕獲文字到自動命名的組裡(?exp) # 匹配exp,並捕獲文字到名稱為name的組裡,也可以寫成(?'name'exp)
(?:exp) # 匹配exp,不捕獲匹配的文字,也不給此分組分配組號
零寬斷言
(?=exp) # 匹配exp前面的位置(?<=exp) # 匹配exp後面的位置
(?!exp) # 匹配後面跟的不是exp的位置
(?特殊字元
^h \010 \b
^m \015 \r
匹配特殊字元: ctrl+v ctrl不放在按h或m 即可輸出^h,用於匹配
shell正規表示式
句點 匹配單字元 1 匹配任意單ascii 字元,可以為字母,或為數字。2 舉例 xc.匹配dexc1t 23xcdf 等,w.w.w.匹配rwxrw rw 行首以 匹配字串或字串行 1 允許在一行的開始匹配字元或單詞。2 舉例 01 匹配0011cx4 c01sdf 等,d 匹配drwxr xr ...
shell正規表示式
句點 匹配單字元 1 匹配任意單ascii 字元,可以為字母,或為數字。2 舉例 xc.匹配dexc1t 23xcdf 等,w.w.w.匹配rwxrw rw 行首以 匹配字串或字串行 1 允許在一行的開始匹配字元或單詞。2 舉例 01 匹配0011cx4 c01sdf 等,d 匹配drwxr xr ...
shell 正規表示式
一 從頭開始 echo the book sed n the p 二 結尾 三 聯合定位 this is a test 四 點字元 用於匹配除換行符之外的任何乙個單一字元 五 字元類 定義一類字元,用於匹配文字模式中的某一位置 例如 echo n ch at p data the cat is sl...