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

如何用JavaScript正则表达式匹配提取目标字符串2094 7051 9541?

问题解决:提取字符串中的目标数字串

你的正则表达式有两个关键错误,导致无法匹配目标内容:

  1. 使用了^和$锚点,它们会强制正则匹配整个字符串,但目标数字串只是原字符串的一部分,所以匹配失败。
  2. {-3}是无效的量词语法,正则中表示重复次数的正确写法是{3}(固定3次),而不是带减号的形式。

正确的正则表达式

针对你要提取的2094 7051 9541(格式为「第一位2-9的4位数 + 空格 + 4位数 + 空格 + 4位数」),可以使用以下正则:

/\b[2-9]\d{3}\s\d{4}\s\d{4}\b/
  • \b:单词边界,避免误匹配其他数字片段(比如原字符串中的989)
  • [2-9]\d{3}:匹配第一位为2-9、后三位为任意数字的4位数
  • \s:匹配空格分隔符
  • \d{4}:匹配后面两个完整的4位数

JavaScript 实现示例

const originalStr = "MR HI Government He PIHe9 Hanumana Ji 3-� fafer/ DOB : 01/01/1959 989 / Male 2094 7051 9541 ������ - ��� ����� �� 3�1���";
const targetRegex = /\b[2-9]\d{3}\s\d{4}\s\d{4}\b/;
const matchResult = originalStr.match(targetRegex);

if (matchResult) {
  console.log(matchResult[0]); // 输出:2094 7051 9541
}

如果不需要限制第一位数字必须是2-9,也可以简化为更通用的版本:

/\b\d{4}\s\d{4}\s\d{4}\b/

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 21:06:29