通常,字符类包括在哪个位置想要匹配的所有的字符。在类中作为第一个字符的脱字符(^)将类中的所有字符排除在被匹配之外。相反,除换行符以外的没有列在方括号中的任意字符都将匹配。下面的模式将匹配任意非数字字符:
[^0-9]
它匹配字母表中所有的大写和小写字母以及所有特殊字符,例如标点符号。排除特殊字符有时比显示地列出想要匹配的所有字符更方便。例如,如果想要匹配任意辅音,可以简单地排除元音:
[^aeiou]
该表达式匹配任意辅音,大写的任意元音,任意标点符合或特殊的字符。
请看下面的正则表达式:
\.DS "[^1]"
该表达式匹配字符串".DS" 其后依次跟随一个空格、一个双引号、一个非数字和一个双引号。这样设置是为了避免匹配下面的行:
.DS "1"
而匹配这样的行,例如:
. DS "l"
. DS "2"
这种语法还可以用来限制匹配的范围,正如随后要看到的那样。
参考资料:http://www.linuxawk.com/communication/427.html