Обратите внимание, что при использовании регулярных выражений для подстановок / модификаций важно сосредоточиться вокруг той части строки, которую вы хотите изменить. Вот короткое регулярное выражение, чтобы делать то, что вы хотите (в Perl), которое иллюстрирует эту идею с вашими данными.
Предполагается, что $ line содержит строку, которую вы хотите изменить
my $two=2;
$line =~ s/(,\s+)\d+/\1$two/;
Регулярное выражение ищет первую запятую, совпадает с ней и произвольным числом пробелов после запятой. Это запомнилось в первой обратной ссылке. После этого он соответствует произвольному количеству цифр. Наконец, он заменяет то, что совпало со строкой в первой обратной ссылке, за которой следует 2. Применение этого к вашим образцам данных дает
[0, 1, 0, 1] становится [0, 2, 0, 1]
[1, 1, 1, 1] становится [1, 2, 1, 1]