You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Apps Script/JavaScript中正则单行匹配生效多行失效是什么原因?

正则跨行匹配失败问题解答

核心原因

  • 你正则中匹配两段内容中间部分的自定义字符集[clastexwid\-."= h<>\/]+没有包含换行符\n,两段内容分行后中间的换行符无法被该字符集匹配,导致匹配中断。
  • 你添加的s修饰符仅作用于元字符.,使其可以匹配换行符,对自定义字符集不生效;同时部分低版本Google Apps Script运行环境对s修饰符的兼容性不足,也可能导致修饰符失效。

修复方案

  1. 直接在自定义字符集中加入换行符即可适配分行场景,修改后正则为:
/(Laboratory Confirmed Cases )([clastexwid\-."= h<>\/\n]+)([0-9]+)/
  1. 如需使用更简洁的写法,可配合非贪婪匹配和dotall模式,修改后正则为(适用于支持ES2018的V8版Google Apps Script环境):
/(Laboratory Confirmed Cases )(.+?)([0-9]+)/s
  1. 如果你使用的是旧版Rhino运行环境的Google Apps Script,可用[^]替代.实现全字符匹配:
/(Laboratory Confirmed Cases )([^]+?)([0-9]+)/

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 15:51:02