Linux正则表达式-排除字符类


通常,字符类包括在哪个位置想要匹配的所有的字符。在类中作为第一个字符的脱字符(^)将类中的所有字符排除在被匹配之外。相反,除换行符以外的没有列在方括号中的任意字符都将匹配。下面的模式将匹配任意非数字字符:
[^0-9]

它匹配字母表中所有的大写和小写字母以及所有特殊字符,例如标点符号。排除特殊字符有时比显示地列出想要匹配的所有字符更方便。例如,如果想要匹配任意辅音,可以简单地排除元音:
[^aeiou]

该表达式匹配任意辅音,大写的任意元音,任意标点符合或特殊的字符。
请看下面的正则表达式:
\.DS "[^1]"

该表达式匹配字符串".DS" 其后依次跟随一个空格、一个双引号、一个非数字和一个双引号。这样设置是为了避免匹配下面的行:
.DS "1"
而匹配这样的行,例如:
. DS "l"
. DS "2"

这种语法还可以用来限制匹配的范围,正如随后要看到的那样。

相关内容