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'