Я пытаюсь написать регулярное выражение, которое будет соответствовать списку слов, разделенных запятыми, и захватить все слова. Эта строка должна соответствовать apple , banana ,orange,peanut
, а захваты должны быть apple
, banana
, orange
, peanut
. Для этого я использую следующее регулярное выражение:
^\s*([a-z_]\w*)(?:\s*,\s*([a-z_]\w*))*\s*$
Он успешно соответствует строке, но внезапно захватываются только apple
и peanut
. Такое поведение наблюдается как в C#, так и в Perl. Таким образом, я предполагаю, что мне что-то не хватает в том, как работает сопоставление регулярных выражений. Есть идеи? :)