第 5 课:字符范围

我们刚刚学习了如何创建一个匹配或排除特定字符的模式——但如果我们想要匹配一个可以处于连续字符范围内的字符呢?我们除了将它们全部列出来别无选择吗?

幸运的是,当使用方括号表示法时,可以使用连字符来表示字符范围,从而为匹配连续字符列表中的字符提供了一种简写方式。例如,模式[0-6]将只匹配从零到六的任何单个数字字符,而不会匹配其他任何字符。同样,[^n-p]将只匹配除字母 n 到 p 之外的任何单个字符。

多个字符范围也可以与单个字符一起使用在同一组括号中。一个例子是字母数字\w元字符,它等价于字符范围[A-Za-z0-9_],通常用于匹配英文文本中的字符。

在下面的练习中,请注意所有匹配和跳过行都具有模式,并使用方括号表示法来匹配或跳过每行中的每个字符。请注意,模式是区分大小写的,并且a-z在匹配的字符方面(小写与大写)与A-Z不同。

练习 5:匹配字符范围
任务 文本  
匹配 Ana To be completed
匹配 Bob To be completed
匹配 Cpc To be completed
跳过 aax To be completed
跳过 bby To be completed
跳过 ccz To be completed
解答

所有字符都是连续的,因此您可以使用表达式 [A-C][n-p][a-c] 中的不同范围来仅匹配前三行。

解决上述任务以继续下一个问题,或阅读 解答