gpt4 book ai didi

javascript - 用于仅获取 javascript 中最后 N 个数字的正则表达式

转载 作者:行者123 更新时间:2023-11-30 07:12:20 25 4
gpt4 key购买 nike

我一直在尝试为这个字符串生成一个正则表达式:

  • 案例 1:test-123456789 应该得到 56789
  • 案例 2:test-1234-123456789 应该得到 56789
  • case3: test-12345 应该失败或者什么都不给

我需要的是一种仅从 9 个数字中获取最后 5 个数字的方法

到目前为止我是这样做的:

 case.match(/\d{5}$/)

它适用于前两种情况但不适用于最后一种

最佳答案

你可以使用

/\b\d{4}(\d{5})$/

参见 regex demo 。获取第 1 组值。

详情

  • \b - 字边界(以确保数字 block 为 9 位长) - 如果字符串末尾的数字 block 可以包含更多,请删除 \b
  • \d{4} - 四位数
  • (\d{5}) - 第 1 组:五位数
  • $ - 字符串结尾。

JS 演示:

var strs = ['test-123456789','test-1234-123456789','test-12345'];
var rx = /\b\d{4}(\d{5})$/;
for (var s of strs) {
var m = s.match(rx);
if (m) {
console.log(s, "=>", m[1]);
} else {
console.log("Fail for ", s);
}
}

关于javascript - 用于仅获取 javascript 中最后 N 个数字的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52930317/

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