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

求助:如何用正则表达式捕获带重复结构的分组内容

正则表达式捕获完整条件分组解决方案

输入字符串

DEMO1 in ( "test1", "test2", "test3"), CODE_ID in ( "test4", "test5", "test6")

期望捕获结果

Match 1 = DEMO1 in ( "test1", "test2", "test3")
Match 2 = CODE_ID in ( "test4", "test5", "test6")

解决方案正则

使用以下正则表达式并开启全局匹配(g修饰符):

(\w+\s+in\s+\(.*?\))

正则说明

  • \w+\s+in\s+:匹配变量标识符(如DEMO1、CODE_ID),后跟空格、in关键字及后续空格
  • \(:匹配左括号((需转义,因为括号在正则里是特殊字符)
  • .*?:非贪婪模式匹配任意字符,确保只匹配到当前分组对应的右括号为止,避免过度匹配到后续分组内容
  • \):匹配右括号)(同样需转义)
  • 整个表达式被包裹在捕获组()中,用于提取完整的条件语句

扩展说明

如果括号内存在嵌套结构(比如更复杂的嵌套表达式),可以改用平衡组正则实现更严谨的匹配,但针对当前示例的简单场景,上述正则已足够覆盖需求。开启全局匹配后,无论有多少个同类条件分组,都能逐一捕获。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 06:06:45