gpt4 book ai didi

javascript - 正则表达式匹配 n 位数字忽略空格和符号

转载 作者:行者123 更新时间:2023-12-04 10:23:09 34 4
gpt4 key购买 nike

我很难找到有关正则表达式的一些信息,但我仍在苦苦挣扎。

假设我们有这个:

0123 4567 8910

该示例有空格,但它们可以是 -,+ 或不是数字的东西。

我试图获得 10 个数字(或 5 或 11 个),单独检测,忽略与数字不同的所有其他字符。

使用这个: [0-9] 匹配任何数字,我知道。如果我做这样的事情 [0-9]{10} 永远不会检查任何东西,因为这种模式正在寻找所有 10 位数字在一起,我需要正则表达式来一一计算这 10 位,无论是否与数字不同在字符串中...

我正在使用这个正则表达式: [0-9](?=(?:[^0-9]*[0-9]){4,16}(?![^0-9]*[0-9]))
问题是这会检测除最后 4 位数字之外的所有内容,而不是我需要的特定 10 位数字……对此的任何建议将不胜感激……

编辑

我能够做到这一点......换句话说,我的意思是,我能够留下 10 个未标记的字符......我需要按照这个正则表达式的工作方式来做相反的事情:
[0-9](?=(?:[^0-9]*[0-9]){10,}(?![^0-9]*[0-9]))
Here's 例子。

这就是目标。使用正则表达式,获得 5、10 或 12 个像这样的第一个字符(例如 12 个字符):

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

最佳答案

尝试这个:
/(\d\D*){10}/
(一组数字后跟零个或多个非数字重复 10 次)

仅获取数字:

let arr = '0123 4567 8910'
.match(/(\d\D*){10}/)[0]
.split(/\D+|/)

console.log(arr)

关于javascript - 正则表达式匹配 n 位数字忽略空格和符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60745023/

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