正則表達式分類git
基本的正則表卻是,又叫basic regex正則表達式
擴展的正則表達式,又叫extended regexide
Perl的正則表達式,又叫perl regexspa
基本組成部分:翻譯
\ 轉義符,將特殊字符進行轉義,忽略其特殊意義。a\.b匹配a.b,但不能匹配ajb,被轉義爲特殊意義字符串
\n表示換行,\r表示回車,\t表示水平的製表符,\v表示垂直的製表符,\b表示後退符,\a表示警告,0xx翻譯成ASCII碼爲八進制0xx鎖表示的字符it
^匹配行首,awk中,^則是匹配字符創的開始,^匹配以tux開頭的行class
$匹配行尾,awk中,則是匹配字符串的結尾
awk
.匹配除換行符\n以外的任意單個字符,awk則中能夠。ab.匹配abc或bad,不可匹配adcd或abde,只能匹配單字符擴展
[]匹配包含在[^字符以外的任意一個字符],123[^45]不能夠匹配1234或1235,1236.1237均可以
[-]匹配[]中指定範圍內的任意一個字符,要寫成遞增,[0-9]能夠匹配1,2或3等其中任意一個數字
?匹配以前的項1次或者0次,colou?r能夠匹配colour或者colour或者colour,不能匹配colouur
+匹配以前的項1次或者0次,sa-6+匹配sa-6,sa-666,不能匹配sa-
*匹配以前的想0次或屢次,co*l,匹配cl,col,cool,cool等
()匹配表達式,建立一個用於匹配的子串。
{n}配置以前的項n次,n是能夠爲0的正整數。
{n,}以前的項至少須要匹配n次,[0-9]{2,}匹配任意一個兩位數或更多位數
[n,m]指定以前的想至少匹配n次,最多匹配m次,n<=m,[0-9]{2,5}匹配從兩位數到五位數之間的任意一個數字
|交替匹配|兩邊的任意一項ab(c|d)匹配abc或adb
posix字符類
posix字符類是一個形如[:...:]的特殊元序列(meta sequence),他能夠用於匹配特定的字符範圍
[:alnum:]匹配人一個一個字母或數字字符,[[:alnum:]]+
[:alpha:]匹配任意一個字母字符(包括大小寫),[[:alpha:]]{4}
[:blank:]空格與製表符(橫向和縱向),[[:blank:]]*
[:digit:]匹配熱一個數字字符,[[:digit:]]?
[:lower:]匹配小寫字母,[[:lower:]]{5,}
[:upper:]匹配大寫字母,([[:upper:]]+)?
[:punct:]匹配標點符號,[[:punct:]]
[:space:]匹配一個包括換行符,回車等在內的全部空白符,[[:space:]]+
[:graph:]匹配任何一個能夠看得見的且能夠打印的字符,[[:graph:]]
[:xdigit:]任何一個十六進制數(即:0-9,a-f,A-F)
[:cntrl:]任何一個控制字符(ASCII字符集中的前32個字符),[[:cntrl:]]
[:print:]任何一個能夠打印的字符,[[:print:]]