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

Node.js环境下使用正则表达式提取PDF转文本后的指定数值

解决方案

你的原有正则仅匹配了前缀文本,未捕获后续数值,且未处理多匹配场景和千分位逗号,以下是可直接运行的实现:

完整实现代码

const fs = require('fs');
const pdfparse = require('pdf-parse');

const pdffile = fs.readFileSync('testdoc3.pdf');

pdfparse(pdffile).then(function (data) {
  const valueRegex = /Valor\s+(?:del\s+)?fondo\s*(?:de\s*inversi[oó]n)?\s*\([^)]*\)\s*([\d,.]+)/gim;
  const extractedValues = [];
  
  for (const match of data.text.matchAll(valueRegex)) {
    // 剔除千分位逗号后转为数值
    const cleanedValue = parseFloat(match[1].replace(/,/g, ''));
    extractedValues.push(cleanedValue);
  }

  console.log(extractedValues); // 输出符合要求的 [1308906.95, 230942.51]
});

正则规则说明

  • 忽略大小写、支持跨行匹配,兼容ó/o拼写差异
  • 非捕获组匹配所有前缀文本和括号标注内容,避免冗余捕获
  • 捕获组单独提取带千分位的数值字符串,后续处理剔除逗号即可得到标准数值

内容的提问来源于stack exchange,提问作者Daniel Chavarria Chavarrio

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 17:54:03