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

正则多捕获组匹配重复同结构内容的实现方案咨询

正则表达式提取重复结构问题的解决方案

我是正则表达式新手,遇到一个未解决的问题:手里有一份带特定结构的文件,想提取其中重复出现的同结构内容(比如N1、N2这类)用来解析到类里。

我写了正则表达式:static\s+abc_p\s+ABC_P\[\s*\]\s*=\s*\{(\n((?:[^\{]*\{\n([^\}]*)\}\,\n\s*\}\,\n)))[^;]*,但它只能匹配第一个捕获组。试了加+只会匹配最后一个实例,加+?还是只匹配第一个。

想问能不能修改正则直接捕获所有N1、N2…NX这类结构?还是得先找到第一个组后删除,再继续查找直到遇到;?我的需求是把每个N1、N2分别抓到对应捕获组里。

可行的拆分匹配方案

  • 第一步:先匹配整个数组块,使用正则:
    static\s+abc_p\s+ABC_P\[\]\s*=[^;]+;
    
  • 第二步:在第一步得到的数组块内容里,用下面的正则遍历提取每个目标结构:
    \{(\s*[^}]+)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 13:44:59