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

如何编写正则表达式匹配后端响应中的指定超长整数

匹配符合要求的长整数正则解决方案

需求梳理

  • 需要匹配的情况:
    • 单独的整数(如 "BIG_INT": 123456789012345675)
    • 未被引号包裹的数组内所有长度≥16位的整数(如 "BIG_INT_ARRAY_MULTIPLE":[123456789012345661,...])
  • 排除匹配的情况:
    • 被双引号包裹的数字(如 "STRING_BIG_INT":"12345678901234567")
    • 字符串类型数组中的数字(如 "STRING_BIG_INT_ARRAY":"[12345678901234567,...]")
    • 小数(如 "BIG_INT_FLOATING_DECIMAL":12345678901234567.765...)

正则表达式方案

可以使用以下正则精准匹配所有符合要求的数字:

(?<![\["])\b\d{16,}\b(?!["\.])(?=(?:[,\]\}]|$))

正则说明

  • (?<![\["]):负向断言,确保数字前没有左方括号或双引号,排除字符串内及字符串数组中的数字
  • \b\d{16,}\b:匹配长度≥16位的完整整数,单词边界避免匹配数字片段
  • (?!["\.])(?=(?:[,\]\}]|$)):负向断言排除数字后带双引号或小数点的情况(即小数),正向断言确保数字后是逗号、右方括号、右大括号或文本结尾,覆盖单独整数和数组内数字的场景

替换示例

将匹配到的数字替换为 ${0}n 即可转为BigInteger格式:

  • 原内容:"BIG_INT": 123456789012345675 → 替换后:"BIG_INT": 123456789012345675n
  • 原内容:"BIG_INT_ARRAY_MULTIPLE":[123456789012345661, 987654321098765432] → 替换后:"BIG_INT_ARRAY_MULTIPLE":[123456789012345661n, 987654321098765432n]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 12:22:55