gpt4 book ai didi

Javascript获取数字的前两位数字

转载 作者:行者123 更新时间:2023-12-01 15:34:28 25 4
gpt4 key购买 nike

如何在 JavaScript 中使用正则表达式将数字的第一个和下一个数字作为数组获取?
我正在这样做:

let foo = '1234567'; 

let op = foo.match(/^\d{1}|\d{2}/g)

console.log(op)
但这即使在第三个数字之后也会输出所有内容。
我试图让输出为
[1,23]

最佳答案

您可以将前两个数字捕获到单独的捕获组中:

let foo = '1234567'; 
let op = foo.match(/^(\d)(\d{2})/);
if (op) {
console.log(op.slice(1));
}

这里,
  • ^ - 匹配字符串
  • 的开头
  • (\d) - 将一个数字捕获到组 1
  • (\d{2}) - 将第二个和第三个数字捕获到第 2 组中。

  • regex demo
    在访问组值之前,您应该检查是否存在匹配项,因此,您可以使用类似 if (op) {...} 的检查。 .slice(1) 用于去除数组中的第一个值,它始终是整个匹配值。
    如果您出于某种原因需要将正则表达式与交替和 g 修饰符一起使用,则只能使其与现在在大多数 JavaScript 环境中可用的后向一起工作:

    console.log( '1234567'.match(/^\d|(?<=^\d)\d{2}/g) );

    这里,
  • ^\d - 匹配字符串
  • 开头的数字
  • | - 或
  • (?<=^\d)\d{2} - 两个数字,在字符串开头有一个数字。

  • this regex demo

    关于Javascript获取数字的前两位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62958130/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com