逗号分隔数字的正则表达式,每个逗号后可能有n个空格

时间:2019-02-27 15:39:06

标签: javascript regex

寻找以上内容

允许

1,2,3 其中_是空格,允许1,____ 2 _____,3_____ 1 _ 2 _ 不允许3,其中_是空格

谢谢

3 个答案:

答案 0 :(得分:1)

我使用*来匹配0个或更多出现的空格,+来匹配1个或多个位数,最后我使用look-around assertions来匹配空格和逗号而不捕获它们

const str = "1,    2,   3   ,  4,5,6   ,";
console.log(str.match(/[0-9]+(?= *,)/g));

当我再次考虑到您的问题时,我得出的结论是仅使用正则表达式而不是最简单的方法来完成整个事情

const str = "1,    2,   3   ,  4,5,6   ,";
console.log(str.split(",").map(element => element.match(/[0-9]+/g)).filter(Boolean));

答案 1 :(得分:0)

您可以使用像这样的正则表达式:/^([0-9]+\s*,\s*|[0-9])+/

[0-9]+\s*,\s*可以检测到数字,后跟逗号,[0-9]用于检测列表中的最后一个数字。

答案 2 :(得分:0)

尝试使用正则表达式:^ *\d+ *(?:, *\d+ *)*$

Demo