我在这方面已经太久了,试图弄清楚如何匹配以逗号分隔的值字符串,同时将这些值分解为它们自己的捕获组。以下是我的要求:
- 没有前导逗号
- 术语可以是字母数字,包含 1 到 7 个字符
- 最少:1个学期;最大:无限制
- 术语和逗号之间的无限空格
- 没有尾随逗号
我非常接近,但我无法将字符串中的所有术语都放入他们自己的捕获组中。相反,它将第一个捕获组中的最后一个匹配项放入组#1,而不是将所有匹配项放入先前的组中。所以这是我的例子:
abc1234、def5678、ghi9012
我希望 abc1234 成为第 1 组,def5678 成为第 2 组,ghi9012 成为第 3 组。相反,使用下面的表达式,我在组#1 中得到 def5678,在组#2 中得到 ghi9012。
/(?:([A-z0-9]{1,7})\s*,\s*)+([A-z0-9]{1,7})/g
我很确定我没有正确设置我的捕获/非捕获组。任何帮助将不胜感激。