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

如何使用REGEXREPLACE从嵌套正则匹配结果中提取指定模式字符串

REGEXREPLACE参数调整方案

方案1:两次分步替换(兼容性最高)

无需正则引擎支持高级语法,适配绝大多数场景:

  1. 第一步处理尖括号内的分号分隔项,将每个分段包裹为括号格式
REGEXREPLACE("Ex.: <a;b;c;> e <d;e;>.", "(?:<|(?<!^)\G)([^;]+);(?=[^<>]*>)", "($1)")

执行后得到中间结果:Ex.: <(a)(b)(c)> e <(d)(e)>.
2. 第二步清理多余的尖括号和开头多余的点号

REGEXREPLACE(上述中间结果, "[<>]|Ex\.", "")

执行后直接得到目标输出:Ex: (a)(b)(c) e (d)(e).

方案2:嵌套单次调用(适合支持函数嵌套的平台,如Google Sheets)

可以合并为单次函数调用:

REGEXREPLACE(REGEXREPLACE("Ex.: <a;b;c;> e <d;e;>.", "<(.*?)>", REGEXREPLACE("$1", "([^;]+);", "($1)")), "Ex\.:", "Ex:")

原理说明:
方案1通过\G锚点限定匹配范围仅在尖括号内部,不会误修改字符串其他位置的内容,第二次替换统一清理冗余符号即可得到结果。
方案2先捕获所有尖括号包裹的内容,对每一段捕获到的内部字符串单独做替换,把分号分隔的每个字段都包裹为括号格式,最后修正开头的格式即可。
如果你使用的正则引擎不支持\G锚点,优先选择方案2即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 19:36:04