正則表達式是基於樣式匹配的文件處理技術的關鍵,也是用於絕大多數文本處理工具的一種語言。git
正則表達式基礎:
正則表達式
正則表達式 |
描述 |
例子 |
^ |
行起始標記 |
^ca :匹配以ca起始的行 |
$ |
行尾標記 |
ca$ :匹配以ca結尾的行 |
. |
必定有一個任意字符 |
ca. :匹配cat,caa,cae等等,但不能匹配cata,即只能匹配單個字符 |
[] |
匹配包含在括號內的任意一個字符 |
c[ab]t :匹配cat或者cbt |
[^] |
匹配除了括號內的任意一個字符 |
9[^01] :匹配92,93,可是不匹配90,91 |
[-] |
匹配[]中制定範圍的任意一個字符 |
[a-z] :匹配從a到z任意一個字符 |
\ |
轉義符號,可將這些特殊字符轉義 |
a\.b :匹配a.b這個字符串而不是ajb,akb等等,忽略.的特殊意義 |
* |
匹配以前的一個字符0次或屢次 |
co*l :匹配cl,col,cool,coool等等 |
\{n,m\} |
匹配n到m次前一個字符 |
go\{2,3\} :匹配g以後2個到3個o,即goo,gooo |
? |
匹配以前的項0次或者1次 |
colou?r :匹配color或colour,不能匹配colouur |
+ |
匹配以前的項1次或者屢次 |
go+d :匹配god,good,goood等等 |
| |
匹配兩邊任意一項 |
gd|good :匹配出gd或者good |
() |
匹配一個用於匹配的子串 |
g(la|oo)d :匹配glad或者good |
POSIX標準ide
[:alnum:] |
表明英文大小寫字符以及數字,即0-9,a-z,A-Z工具 |
[:alpha:] |
表明任何英文大小寫字符,即A-Z,a-z |
[:blank:] |
表明空格和tab鍵 |
[:digit:] |
表明數字,即0-9 |
[:lower:] |
表明小寫字符,即a-z |
[:upper:] |
表明大寫字符,即A-Z |
[:punct:] |
標點符號 |
[:space:] |
包括回車,換行符等全部空白字符 |
幾個例子:spa
匹配全部的單詞 ?[a-zA-Z]+?ip
匹配一個ip地址 [0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}字符串