捕获逗号分隔列表中的所有组

问题描述 投票:0回答:2

我正在尝试使用正则表达式来匹配 JavaScript 中以逗号分隔的元素列表。 我使用的正则表达式如下:

([a-z]+)(?:,([a-z]+))*
,但我无法获取所有匹配的组,只能获取第一个和最后一个。

我做了一个 regex101 来说明我的问题:https://regex101.com/r/lIkE8k/5

我有什么遗漏的吗?

javascript regex regex-group
2个回答
0
投票

这个简单的正则表达式为您提供使用

matchAll
时的所有捕获组。

const csv="example,using,several words,and phrases";
const matches = csv.matchAll(/([^,]+)/g);
for (const match of matches) {
    console.log(match[0]);
}

-1
投票

鉴于您的样本

bold,italic,underlign,blink
以及您似乎想要的内容,这个正则表达式可以工作

\s*([a-z]+)(?=\s*,|\s*$)  

https://regex101.com/r/b3exXD/1

© www.soinside.com 2019 - 2024. All rights reserved.