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

如何匹配指定字符串以外的内容?(适配InDesign GREP)

InDesign GREP 优化解决方案

你遇到的问题核心是要避免重复书写目标字符串box,同时实现原表达式的匹配效果。之前用\2不生效是因为表达式里仅定义了一个捕获组(box),对应的反向引用应为\1,但直接用\w+(?=(box))|(?<=\1)\w+仍有问题——匹配第二个分支时,第一个分支的捕获组未被触发,\1无法正确引用。

针对InDesign的GREP语法,推荐两种可行方案:

方案1:命名捕获组

通过命名捕获组统一管理目标字符串,后续仅需修改一处即可:

\w+(?=(?P<target>box))|(?<=(?P=target))\w+
  • (?P<target>box):定义名为target的捕获组,内容为box
  • (?P=target):反向引用该命名组,确保两处引用的是同一个目标字符串

方案2:分支重置组

利用分支重置组让所有分支共享捕获组编号,实现单次定义多次引用:

(?|\w+(?=(box))|(?<=\1)\w+)
  • (?|...):分支重置标记,内部分支共用捕获组编号
  • 第一个分支的(box)是捕获组1,第二个分支的(?<=\1)可直接引用该组

简化思路(针对你的输入输出场景)

从提供的输入输出来看,你的实际需求是删除所有box字符串,此时无需复杂表达式——直接用GREP查找box,替换为空即可,完全避免重复书写目标字符串,效率更高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 05:40:32