Perl regex将字符之间的逗号替换为逗号和空格

Perl regex将字符之间的逗号替换为逗号和空格,regex,perl,Regex,Perl,我想替换以下字符串 camera,photo,image, data 与 这在Perl中的正则表达式中可行吗?请注意,最后一个单词(数据)已由逗号和空格分隔,因此不应在此处重复此转换 ,(?!)将其替换为空格,”(此处插入的代码中空格显示不太好,因此此答案在需要空格的地方使用了。(下划线) 要将后跟零个或多个空格的逗号转换为后跟一个空格的逗号,请将,*替换为,(即将逗号空格星号替换为逗号空格) 若要将逗号后跟零或一个空格转换为逗号后跟一个空格,请将,替换为,(即将逗号空格问号替换为逗号空格)。

我想替换以下字符串

camera,photo,image, data

这在Perl中的正则表达式中可行吗?请注意,最后一个单词(数据)已由逗号和空格分隔,因此不应在此处重复此转换

,(?!)
将其替换为空格
,”

(此处插入的代码中空格显示不太好,因此此答案在需要空格的地方使用了
(下划线)

要将后跟零个或多个空格的逗号转换为后跟一个空格的逗号,请将
,*
替换为
(即将逗号空格星号替换为逗号空格

若要将逗号后跟零或一个空格转换为逗号后跟一个空格,请将
替换为
(即将逗号空格问号替换为逗号空格)。

如何:

my $str = 'camera,photo,image, data';
$str =~ s/,(?=\S)/, /g;
say $str;
输出:

my $str = 'camera,photo,image, data';
$str =~ s/,(?=\S)/, /g;
say $str;
camera, photo, image, data