正規表示式使用場景
測試字串內的模式
例如,資料驗證:測試輸入字串,以檢視字串內是否出現**號碼模式或信用卡號碼模式
替換文字
識別文件中的特定文字,完全刪除該文字或用其他文字替換它
基於模式匹配從字串中提取子字串
查詢文件內或輸入域內特定的文字
正規表示式詳細學習資料見鏈結
範圍表示法
用連字元-表示省略和簡寫
例如:[1234567abcdefghijklm]可寫成[1-7a-fg-m]
如果要匹配"a"、"-"、"z"這三個字元中的任意乙個字元不能寫成[a-z](表示小寫字元中的任意乙個字元),要寫成:[-az] 或 [az-] 或 [a-z],- 要麼放在開頭,要麼放在結尾,要麼轉義,不要讓引擎認為是範圍表示法
排除字元組
字元組的第一位 ^ (脫字元)表示求反。例如,[^abc] 表示乙個除"a"、「b」、"c"之外的任意乙個字元
常見字元組的簡寫
簡寫含義
\d[0-9],表示一位數字
\d[^0-9],表示除數字外的任意字元
\w[0-9a-za-z_],表示數字、大小寫字母及下劃線(單詞字元)
\w[^0-9a-za-z_],表示非單詞字元
\s[ \t\v\n\r\f],表示空白符(空格、水平製表符、垂直製表符、換行符、回車符、換頁符)
\s[^ \t\v\n\r\f],表示非空白符
.[^\n\r\u2028\u2029],萬用字元,表示幾乎任意字元,換行符、回車符、行分割符和段分隔符除外
如要匹配任意字元,可使用[\d\d]、[\w\w]、[\s\s]、[^]量詞
簡寫含義
表示至少出現m次
,表示出現m次
?,表示出現或不出現
+,表示出現至少一次
*,表示出現任意次,有可能不出現
匹配與分支
/d/,表示數字連續出現2-5次,會匹配2位、3位、4位、5位連續數字。會盡可能多的匹配,為貪婪匹配;如果需要匹配盡可能少的位數需要在量詞後加?惰性匹配
多選分支(p1|p2|p3),表示其中任意乙個模式,其中p1、p2、p3為子模式,|為管道符;分支結構預設為 惰性匹配
Shell學習 正規表示式
定位符 同時錨定開頭和結尾,做精確匹配 單一錨定開頭或結尾或者不錨定的,做模糊匹配。錨定開頭 a 以a開頭 預設錨定乙個字元 錨定結尾 a 以a結尾 預設錨定乙個字元 匹配符 匹配字串 匹配除回車以外的任意乙個字元 字串分組 定義字元類,匹配括號中的乙個字元 表示否定括號 現字元類中的字元,取反。轉...
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 ...