Regex Perl正则表达式将双引号替换为单引号

Regex Perl正则表达式将双引号替换为单引号,regex,string,perl,Regex,String,Perl,我有一个长字符串,看起来像这样: "Key1:Value1, Key2:value2, Key3:namespace="randomName", Key4:Some other value, Key5:namespace="anotherRandomName" ... " 我想将namespace=“randomName”替换为namespace='randomName'(从双引号改为单引号) 使用perl正则表达式的最佳方法是什么?s/(:namespace=)”([^“]*)“/$

我有一个长字符串,看起来像这样:

"Key1:Value1,
 Key2:value2,
 Key3:namespace="randomName",
 Key4:Some other value,
 Key5:namespace="anotherRandomName"
...
"
我想将
namespace=“randomName”
替换为
namespace='randomName'
(从双引号改为单引号)


使用perl正则表达式的最佳方法是什么?

s/(:namespace=)”([^“]*)“/$1'$2'/
您尝试了什么?您遇到了什么问题?请向我们展示您的代码。堆栈溢出不是一种代码编写服务(尽管我看到有两个人已经决定慷慨地为您编写代码!)
use strict;
use warnings;

my $str = <<EOD;
Key1:Value1,
Key2:value2,
Key3:namespace="randomName",
Key4:Some other value,
Key5:namespace="anotherRandomName"
EOD
$str =~  s/\bnamespace=\K"([^"]+)"/'$1'/g;

print $str;
Key1:Value1,
Key2:value2,
Key3:namespace='randomName',
Key4:Some other value,
Key5:namespace='anotherRandomName'