You need to enable JavaScript to run this app. Perl无/s修饰符实现跨换行任意匹配的高速正则方案
优惠活动
大模型
产品
解决方案
定价
更多

Perl无/s修饰符实现跨换行任意匹配的高速正则方案

禁用/s修饰符的高速全文本正则匹配实现

需求背景

  • 需要编写匹配任意文本内容的正则,实现过程不得使用/s修饰符
  • 该正则为更大规模正则表达式的组成部分,无法通过全局启用/s修饰符的方式实现跨换行匹配
  • 核心诉求为尽可能提升匹配处理速度,性能需接近带/s修饰符的原生实现水平

前期低性能方案测试结果

  • 正则s/(?:.|\n)+//:处理速度30 MBytes/s
  • 正则s/[^\777]+//:处理速度124 MBytes/s
  • 基准对照(允许/s修饰符的实现):s/.+//s,处理速度164 MBytes/s
    上述两种无/s实现的性能均低于基准水平,无法满足速度要求

经测试达标的实现选项

经过多轮补测,以下三类无/s修饰符的实现性能已非常接近基准水平,属于可用的优质选项:

  • 正则s/(?s).+(?-s)//:处理速度162 MBytes/s
  • 正则s/[\d\D]+//:处理速度162 MBytes/s
  • 正则s/[\s\S]+//:处理速度161 MBytes/s

以上三类方案的处理速度与带/s修饰符的基准实现差距极小,完全符合高速匹配的性能要求。


内容的提问来源于stack exchange,提问作者Ole Tange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.28 15:45:04