第 15 课:其他特殊字符

本课将介绍一些额外的元字符,以及捕获组的结果。

我们已经学习了最常用的元字符,例如使用 \d 捕获数字,使用 \s 捕获空白字符,以及使用 \w 捕获字母数字字符。但正则表达式也提供了一种方法,可以通过使用其大写字母来指定这些元字符的相反集合。例如,\D 表示任何 非数字 字符,\S 表示任何 非空白 字符,\W 表示任何 非字母数字 字符(如标点符号)。根据您如何编写正则表达式,使用其中一个或另一个可能会更容易。

此外,还有一个特殊的元字符 \b,它匹配单词和非单词字符之间的边界。它在捕获整个单词时非常有用(例如,使用模式 \w+\b)。

我们在这些课程中不会详细探讨的一个概念是 反向引用,主要是因为它取决于具体的实现。但是,许多系统允许您使用 \0(通常是完全匹配的文本)、\1(组 1)、\2(组 2)等来引用您的捕获组。例如,当您在文本编辑器中使用正则表达式进行搜索和替换以交换两个数字时,这很有用,您可以搜索“(\d+)-(\d+)”并将其替换为“\2-\1”,例如将第二个捕获的数字放在第一位,第一个捕获的数字放在第二位。

下面是一些不同的字符串,尝试使用不同类型的元字符或我们在前面课程中学到的任何内容,并在准备好后继续。

练习 15:匹配其他特殊字符
任务 文本  
匹配 The quick brown fox jumps over the lazy dog. To be completed
匹配 There were 614 instances of students getting 90.0% or above. To be completed
匹配 The FCC had to censor the network for saying &$#*@!. To be completed
解决方案

本课更像是一个沙盒,供您使用一些示例文本进行练习。对此的简单解决方案,可以使用简单的表达式 .* :)

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