c# – 奇数正则表达式行为 – 仅匹配第一个和最后一个捕获组

我正在尝试编写一个与逗号分隔的单词列表匹配并捕获所有单词的正则表达式.这条线应该匹配苹果,香蕉,橙子,花生和捕获应该是苹果,花生.要做到这一点,我使用以下正则表达式:
^\s*([a-z_]\w*)(?:\s*,\s*([a-z_]\w*))*\s*$

它成功地匹配了字符串,但突然间只捕获了苹果和花生.在C#和Perl中都可以看到这种行为.因此,我假设我遗漏了有关正则表达式匹配如何工作的事情.有任何想法吗?

相关文章

在项目中使用SharpZipLib压缩文件夹的时候,遇到如果目录较深,则压缩包中的文件夹同样比较深的问题。比...
项目需要,几十万张照片需要计算出每个照片的特征值(调用C++编写的DLL)。 业务流程:选择照片...
var array = new byte[4]; var i = Encoding.UTF8.GetBytes(100.ToString("x2"));//...
其实很简单,因为Combox的Item是一个K/V的object,那么就可以把它的items转换成IEnumerable<Dic...
把.net4.6安装包打包进安装程序。 关键脚本如下: 头部引用字符串对比库 !include "WordFunc....
项目需求(Winform)可以批量打印某个模板,经过百度和摸索,使用iTextSharp+ZXing.NetʿreeSp...