2023 © RegexOne
邮箱 | Twitter
在处理现实世界中的输入(例如日志文件甚至用户输入)时,很难不遇到空白字符。我们使用它来格式化信息片段,使其更易于阅读和视觉扫描,而单个空格可能会破坏最简单的正则表达式。
您将在正则表达式中使用最常见的空白字符形式是空格(␣)、制表符(\t)、换行符(\n)和回车符(\r)(在Windows环境中很有用),这些特殊字符分别匹配其各自的空白字符。此外,空白字符特殊字符\s将匹配上面任何一个特定的空白字符,在处理原始输入文本时非常有用。
在下面的字符串中,您会发现每一行的内容都由行索引前的一些空白字符缩进(数字是待匹配文本的一部分)。尝试编写一个模式,该模式可以匹配每行在数字和内容之间包含空白字符的行。请注意,空白字符就像任何其他字符一样,并且可以使用星号和加号等特殊元字符。
任务 | 文本 | |
匹配 | 1. abc | |
匹配 | 2. abc | |
匹配 | 3. abc | |
跳过 | 4.abc |
解答 | 我们必须仅匹配列表编号和“abc”之间有空格的行。我们可以使用表达式\d\.\s+abc来匹配数字、实际句点(必须转义)、一个或多个空白字符,然后是文本。 如果我们使用克莱尼星号而不是加号,我们也会匹配第四行,而我们实际上希望跳过它。 |