4.6. 字符介绍——通配符

未匹配的标注

4.6 字符介绍——通配符

通配符元字符或点 (.) 可以被认为等同于一个变量。在算数表达式里面,一个变量代表任意值。在正则表达式里面一个点(.)是一个代表除了换行符外的任一字符的通配符。(在 awk 里面点甚至可以匹配一个嵌套的换行符。)

考虑到我们正在描述一个字符序列通配符,通配符元字符允许你指定任意字符可以填充的位置。

比如如果我们在搜索一个包含关于 intel 系列处理器的讨论的文件。下面的正则表达式

80.86

匹配包含引用“80286”、“80386”或“80486”的行 [^1]。

1: 奔腾系列微处理器破坏了我们简单的模式匹配实验,破坏了乐趣。更别提最初的8086了

要匹配一个小数点或一个英文句号,你必须用反斜杠来转义点(.)。

在模式的开头或结尾匹配任意字符是很少有用的。因此,通配符字符通常前后都跟有正面量字符或其它元字符。比如下面的正则表达式可能被写来用于搜索 chapter 的引用:

Chapter.

它搜索跟着任意字符的 chapter 这个字符串。这个表达式搜索出来的结果和固定字符串模式 “chapter” 是一样的。看下面的例子。

$ grep ’Chapter.’ sample
you will find several examples in Chapter 9.
"Quote me ’Chapter and Verse’," she said.
Chapter Ten

如果搜索字符串 “Chapter” 而不是 “Chapter.” 点将会匹配所有同样的行。然而有一个情况是不一样的,如果 “Chapter” 在一行的末尾出现。通配符不会匹配换行符,所以 “Chapter.” 点将不会匹配那一行,而固定字符串模式将匹配那一行。

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

上一篇 下一篇
讨论数量: 0
发起讨论 查看所有版本


暂无话题~