在正則匹配的時候,有的時候需要匹配一些特殊字元,比如說空格,tab,標點符號,控制字元,大小寫字碼,16進製制等...如果純粹是大小寫字元的話,
[a-z] 可以匹配大寫字母
[a-z] 可以匹配小寫字母
[0-9] 這些可以匹配數字
但像tab鍵,空格鍵,空白符,16進製制字母等,就不太好匹配! 好在posix有個固定的字符集,可供我們使用:
型別 匹配字元
[[:alnum:]] 數字字元
[[:alpha:]] 字母字元
[[:lower:]] 小寫字母字元
[[:print:]] 可顯示的字元
[[:blank:]] 空格(space)與定位字元
[[:punct:]] 標點符號字元
[[:cntrl:]] 控制字元
[[:space:]] 空白(whitespace)字元
[[:upper:]] 大寫字母字元
[[:digit:]] 數字字元
[[:graph:]] 非空格(nonspace)字元
[[:xdigit:
]] 十六進製制數字字元
有的時候,我們使用上面的字符集會很方便!
比如:# 要查詢檔案列表裡面含空格鍵的,可以這樣:
root@linux~# ls | egrep '[[:blank:]]'
# 要查詢檔案列表裡面含連續1-6個大寫字元的
root@linux~# ls | egrep '[[:upper:]]'
總之,將正規表示式結合poxis常用字符集,可以使我們工作更方便!
常用字符集的總結
ascii編碼 主要包括26字母,數字符號,和一些常用符號,用乙個位元組足夠 1個位元組可以表示2 8 256種字元 實際上,這些字元只使用了1個位元組的7位。其中0 127最高位是0,另外128個擴充套件的ascii碼,最高位都是1。它是最通用的單位元組編碼系統。iso8859 1 通常叫做lat...
正則常用字符集簡寫
由於有些字符集很常用,所以正規表示式本身就提供了對這類字符集的簡寫 如上圖所示,s s d d w w這六個字符集在平時是很常用的,左邊兩邊的正則,一般情況下,表示的含義是一樣的,也就是等價的。也許你已經發現了,s和 s只是字母大小寫的區別,代表的字符集就變成相反的了。s和 s是沒有交集的,但它們是...
常用字符集編碼格式詳解
ascii ascii碼是7位編碼,編碼範圍是0x00 0x7f。ascii字符集包括英文本母 阿拉伯數字和標點符號等字元。其中0x00 0x20和0x7f共33個控制字元。只支援ascii碼的系統會忽略每個位元組的最高位,只認為低7位是有效位。hz字元編碼就是早期為了在只支援7位ascii系統中傳...