【问题标题】:Does \s shorthand match newlines in PHP regex?\s 速记是否匹配 PHP 正则表达式中的换行符?
【发布时间】:2016-05-17 00:08:27
【问题描述】:

\s 可以匹配换行符还是我应该使用/s 模式修饰符来使. 匹配换行符? 我不希望正则表达式匹配“任何东西”。相反,我希望它只匹配换行符/空格。

【问题讨论】:

标签: php regex expression


【解决方案1】:

根据regex101.com\s

匹配任何空格、制表符或换行符。

所以是的,但这并不完全符合您的要求。但它比使用. 更接近,后者往往会导致灾难性的回溯和普遍的低效率。

如果你想匹配空格和换行,你可以使用:

[ \n\r]

【讨论】:

  • . 与由嵌套量词引起的灾难性回溯无关。它也效率低下(当然除非使用不当)。
  • @LucasTrzesniewski 初学者在效率方面遇到的问题最多,我经常看到 . 使用 [^something][something] 代替。这就是我所说的“倾向”。当然,作为专家,您应该能够毫无问题地知道如何使用.
猜你喜欢
  • 1970-01-01
  • 2014-06-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多