括號表達式是用方括號 [] 括起來的字符和/或字符類別的列表。使用括號表達式來匹配列表中的單個字符或列表中的字符範圍。如果列表的第一個字符是插入符號 ^,則匹配不在列表中的字符。
例如:
表達式
|
比對
|
[abc]
|
a、b 或 c
|
[a-z]
|
a 到 z
|
[^abc]
|
除了 a、b 或 c 以外的任何字符
|
[[:alpha:]]
|
任何字母字符(見下文)
|
以下字符類別必須在方括號表達式內,否則將被視為普通表達式。
字符類
|
描述
|
[:alpha:]
|
字母字符
|
[:digit:]
|
數字
|
[:alnum:]
|
字母字符和數字字符
|
[:cntrl:]
|
控制字元
|
[:空白:]
|
空格和製表符
|
[:space:]
|
所有空白字元
|
[:graph:]
|
非空白(不包括空格、控制字符等)
|
[:print:]
|
像 [:graph:],但包括空格字符
|
[:punct:]
|
標點符號
|
[:小寫:]
|
小寫字母字符
|
[:upper:]
|
大寫字母字符
|
[:xdigit:]
|
十六進位數字允許的數字(0-9a-fA-F)
|
例如:
-
a[[:digit:]]b 匹配 "a0b"、"a1b"、...、"a9b"。
-
a[:digit:]b 匹配 "a:b"、"adb"、……、"atb"。
-
[[:digit:]abc] 匹配任何數字或 "a"、"b" 和 "c" 中的任意一個。
-
[abc[:digit:]] 匹配任何數字或 "a"、"b" 和 "c" 中的任意一個。
對於不區分大小寫的表達式,[:lower:] 和 [:upper:] 等同於 [:alpha:]。