我正在尝试使用正则表达式来匹配 JavaScript 中以逗号分隔的元素列表。 我使用的正则表达式如下:
([a-z]+)(?:,([a-z]+))*
,但我无法获取所有匹配的组,只能获取第一个和最后一个。
我做了一个 regex101 来说明我的问题:https://regex101.com/r/lIkE8k/5。
我有什么遗漏的吗?
这个简单的正则表达式为您提供使用
matchAll
时的所有捕获组。
const csv="example,using,several words,and phrases";
const matches = csv.matchAll(/([^,]+)/g);
for (const match of matches) {
console.log(match[0]);
}
鉴于您的样本
bold,italic,underlign,blink
以及您似乎想要的内容,这个正则表达式可以工作
\s*([a-z]+)(?=\s*,|\s*$)