寻找以上内容
允许1,2,3 其中_是空格,允许1,____ 2 _____,3_____ 1 _ 2 _ 不允许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+ *)*$