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

如何提取含成对括号的字符串中大括号内的数字?

提取大括号内的数字解决方案

核心思路是利用正则表达式定位所有{}包裹的数字序列,无需关心外层成对括号的数量,直接捕获目标数字即可。

正则表达式模式

使用{(\d+)}作为匹配模式:

  • { 和 }:匹配大括号的字面量
  • (\d+):捕获组,匹配一个或多个数字(这就是我们需要提取的内容)

代码示例

Python 实现

import re

input_str = r"([\S\s]{8}))([\S\s]{20}))([\S\s]{10}))"
# 匹配所有大括号内的数字
nums = re.findall(r"{(\d+)}", input_str)
# 逐行输出结果
for num in nums:
    print(num)

输出:

8
20
10

JavaScript 实现

const inputStr = "([\\S\\s]{8}))([\\S\\s]{20}))([\\S\\s]{10}))";
const regex = /{(\d+)}/g;
let match;
// 循环匹配所有结果
while ((match = regex.exec(inputStr)) !== null) {
    console.log(match[1]);
}

输出:

8
20
10

说明

这个方案不受外层成对括号数量的影响,只要目标数字始终被{}包裹,就能稳定提取出所有符合要求的数字。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 06:02:42