4.10. 字符介绍——字符类——排除一类字符

未匹配的标注

4.10 字符介绍——字符类——排除一类字符

通常字符类包括你想在那个位置匹配的所有字符。变音符(^)作为在类中的第一个字符,排除了类中被匹配的所有字符。任何不在方括号[] 里面列出来的字符除了换行符[^1]都将被匹配。

1: awk 中,换行符也会被匹配。

下面的模式将匹配任何不是数字的字符:

[^0-9]

它匹配所有大小写的字母表字母,所有特殊字符,比如标点符号。

排除特定的字符,有时比明确列出所有你想要匹配的字符更方便。比如如果你想匹配任何辅音,你可以简单地排除元音:

[^aeiou]

这个表达式将匹配任何辅音、任何大写的元音、任何标点符号或特殊字符。看下面的正则表达式:

\.DS "[^1]"

这个表达式匹配了字符串 ”.DS“ 跟着一个空格,然后是括号,再跟一个除了数字 1 的任意字符,再跟一个括号[^2]。

2: 当把这个模式在命令行上输入的时候,需要将它用单引号来括起来。变音符(^)对原来的 Bourne shell 是特殊的。

它设计为避免匹配下面这一行:

.DS "1"

将匹配下面这些行:

.DS "I"
.DS "2"

这个语法也可以用来限定一个匹配的范围,就像我们将看到的那样。

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~