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

如何使用JavaScript正则表达式从多行文本中提取首个匹配值

提取多行文本中第一个"Messi: "后的内容(JavaScript正则实现)

需求场景

给定多行文本:
Neymar: 11
Messi: 10
Ronaldo: 7
Chhetri: 11
Messi: 18
需要用JavaScript正则提取出第一个"Messi: "之后的匹配内容(即10),且"Messi: "可能出现在任意一行。

解决方案

以下两种方法可按需选择:

方法1:基础匹配(优先推荐)

直接匹配第一个出现的"Messi: "后跟随的数字,无需严格限制整行:

const text = `Neymar: 11
Messi: 10
Ronaldo: 7
Chhetri: 11
Messi: 18`;

const regex = /Messi:\s*(\d+)/;
const result = text.match(regex);

if (result) {
  console.log(result[1]); // 输出:10
}

方法2:严格整行匹配

如果需要避免类似"XMessi: 123"的误匹配,确保匹配独立的"Messi: 数字"行,可启用多行模式:

const text = `Neymar: 11
Messi: 10
Ronaldo: 7
Chhetri: 11
Messi: 18`;

const regex = /^Messi:\s*(\d+)$/m;
const result = regex.exec(text);

if (result) {
  console.log(result[1]); // 输出:10
}

正则说明

  • Messi:\s*:匹配固定字符串"Messi:",允许其后跟随任意数量的空白字符(空格、换行、制表符等)
  • (\d+):捕获一个或多个数字,即需要提取的目标内容
  • ^和$(仅方法2):在多行模式(m修饰符)下,分别代表行的开头和结尾,确保匹配完整的目标行

内容的提问来源于stack exchange,提问作者Jenson M John

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 16:33:20