我有一个长字符串,看起来像这样:
"Key1:Value1,
Key2:value2,
Key3:namespace="randomName",
Key4:Some other value,
Key5:namespace="anotherRandomName"
...
"
我想用namespace="randomName"
代替namespace='randomName'
(只是从双引号到单引号)。
使用perl regex的最佳方法是什么?
答案 0 :(得分: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'