第 8 课:可选字符

正如你在上一课中看到的,克莱尼星号和加号允许我们在行中匹配重复的字符。

另一个在匹配和提取文本时非常常见的量词是?(问号)元字符,它表示可选性。此元字符允许你匹配前一个字符或组的零个或一个实例。例如,模式ab?c将匹配字符串“abc”或“ac”,因为b被认为是可选的。

类似于点元字符,问号是一个特殊字符,你需要使用斜杠\?对其进行转义以匹配字符串中普通的问号字符。

在下面的字符串中,请注意单词“file”的复数形式如何取决于找到的文件数量。尝试编写一个使用可选性元字符的模式,以仅匹配找到一个或多个文件的行。

练习 8:匹配可选字符
任务 文本  
匹配 1 file found? To be completed
匹配 2 files found? To be completed
匹配 24 files found? To be completed
跳过 No files found. To be completed
解答

我们可以使用元字符'\d'来匹配文件数量,并使用表达式\d+ files? found\?来匹配所有找到文件的行。

请注意,第一个问号应用于前面的's'字符(用于复数),而结尾的实际问号必须转义才能匹配文本。

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