2023 © RegexOne
邮箱 | Twitter
正如你在上一课中看到的,克莱尼星号和加号允许我们在行中匹配重复的字符。
另一个在匹配和提取文本时非常常见的量词是?(问号)元字符,它表示可选性。此元字符允许你匹配前一个字符或组的零个或一个实例。例如,模式ab?c将匹配字符串“abc”或“ac”,因为b被认为是可选的。
类似于点元字符,问号是一个特殊字符,你需要使用斜杠\?对其进行转义以匹配字符串中普通的问号字符。
在下面的字符串中,请注意单词“file”的复数形式如何取决于找到的文件数量。尝试编写一个使用可选性元字符的模式,以仅匹配找到一个或多个文件的行。
任务 | 文本 | |
匹配 | 1 file found? | |
匹配 | 2 files found? | |
匹配 | 24 files found? | |
跳过 | No files found. |
解答 | 我们可以使用元字符'\d'来匹配文件数量,并使用表达式\d+ files? found\?来匹配所有找到文件的行。 请注意,第一个问号应用于前面的's'字符(用于复数),而结尾的实际问号必须转义才能匹配文本。 |