我正在尝试编写一个匹配逗号分隔的单词列表并捕获所有单词的正则表达式。此行应匹配 apple , banana ,orange,peanut
,捕获应为apple
, banana
, orange
, peanut
。为此,我使用以下正则表达式:
^\s*([a-z_]\w*)(?:\s*,\s*([a-z_]\w*))*\s*$
它成功匹配了字符串,但突然apple
之间peanut
就被捕获了。在 C# 和 Perl 中都可以看到这种行为。因此,我假设我错过了一些关于正则表达式匹配如何工作的东西。有任何想法吗?:)