JavaScript中如何用正则表达式提取邮件正文内Sys_id后的数字存入数组
JavaScript提取Sys_id的实现方案
可以用正则表达式实现需求,具体规则和代码如下:
- 正则规则使用
/Sys_id:\s*(\d+)/g,各部分含义:Sys_id:精准匹配固定前缀\s*兼容前缀后可能存在的任意数量空格(\d+)捕获组,匹配后续连续的数字内容- 末尾
g为全局匹配标识,保证能提取所有符合规则的结果
- 主流环境代码示例(基于
matchAll实现):
// 传入你的邮件正文内容 const emailContent = `Batch: yt166161 Section:567-947 Sys_id: 1234 Sys_id: 6543 Sys_id: 0974`; const sysIdRegex = /Sys_id:\s*(\d+)/g; const sysIdArr = []; for (const matchResult of emailContent.matchAll(sysIdRegex)) { sysIdArr.push(matchResult[1]); } // 输出结果为 ['1234', '6543', '0974'] console.log(sysIdArr);
- 低版本JS环境兼容方案(基于
exec循环匹配):
const sysIdRegex = /Sys_id:\s*(\d+)/g; const sysIdArr = []; let matchResult; while ((matchResult = sysIdRegex.exec(emailContent)) !== null) { sysIdArr.push(matchResult[1]); }
内容的提问来源于stack exchange,提问作者Marcelo List
相关产品推荐
相关产品推荐

