第15课:其他特殊字符

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

我们已经学习了几个最常用的元字符,比如用 \d 来匹配数字、用 \s 匹配空白字符、用 \w 匹配字母和数字。但正则表达式还提供了它们的反向版本,通过使用对应的大写字母来表示。例如:

  • \D 表示任意非数字字符
  • \S 表示任意非空白字符
  • \W 表示任意非字母数字字符(如标点符号)

根据你编写正则表达式的方式,使用其中一种可能会更简单、更直观。

此外,还有一个特殊的元字符 \b,它用于匹配单词与非单词字符之间的边界。这个符号在匹配完整单词时非常有用,例如使用正则 \w+\b 来提取整个单词。

在本课程中我们不会深入讲解的一个概念是反向引用(back referencing),主要是因为它在不同的实现中存在差异。但很多系统支持通过 \0、\1、\2 等语法来引用捕获到的分组:

  • \0 通常表示整个匹配的内容
  • \1 表示第一个捕获组
  • \2 表示第二个捕获组,依此类推

例如,在文本编辑器中使用正则表达式进行查找和替换时,这种引用很有用。如果你想把两个数字交换顺序,可以使用正则表达式 (\d+)-(\d+) 查找,然后替换为 \2-\1,这样就能将第二个数字放在前面,第一个数字放在后面。

下面有一些不同类型的字符串,试着使用各种不同类型的元字符或本课程之前学过的内容进行练习。

练习 15: 匹配特殊字符
Task Text  
匹配 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
提示

这一课更像是一个练习场,供你在一些示例文本上自由尝试。最“偷懒”的解决方法,就是使用一个简单的正则表达式:.* 😊。

解决上面的问题以继续到, 或者可以参考答案