在POSIX中,为什么像[[:digit:]]
这样的字符类有双括号?外支架和内支架是否相同?感谢?
答案 0 :(得分:8)
character class定义一组字符。说 - “匹配一个字符指定的字符”。 [:digit:]
是POSIX字符类,[ ... ]
是括号表达式。
POSIX类表示法仅在括号内的表达式中有效。例如,
[:digit:]
,当不在括号内的表达式中时,不会被读作POSIX命名类。相反,在大多数风格中,字面上包含字符(:
,d
,i
,g
,t
)的字符类。
答案 1 :(得分:5)
外括号表示匹配的任何字符。 [:digit:]
是POSIX"任何数字"人物类。例如[[:digit:][:alpha:]]
表示"任何数字或任何字母字符"。在ASCII中,[[:digit:][:alpha:]]
相当于[0-9a-zA-Z]
。