“[[:alnum:]]” 表示匹配任意数字或字母。比如"a[[:alnum:]]\{3\}"表示当a后面的3个字符为数字或字母时会被匹配到。还有一种方式”[a-zA-Z0-9]”与之等效。
我们可以把上面[[:alpha:]]等拆成两部分理解:
- 第一部分:最外层的[ ],表示指定范围内的任意单个字符;
- 第二部分:最内层的[:alpha:],表示不区分大小写的字母。
“[ ]”就表示匹配指定范围内的任意单个字符的意思。比如"a[bB#3]"表示a后面是b或B或#或3都可以匹配到。
“[^ ]”表示匹配指定范围外的任意单个字符,它与”[ ]”的含义正好相反。比如“[^0-9]”表示匹配单个非数字字符,与[0-9]的含义这正好相反。
转义符测试文件4内容如下:
# cat reg4
abc
a!@#
a...bc
a*bc