Maybe the list is delimited by a separator, and you don't want to match any bounding delimiter.
^((?:[^,]+,??)+),?$
This would capture "a,b,c" from "a,b,c," where, since the non-useful option would include a comma in the capture group.
Markus jarderot
source share