Perl Regex用单引号替换双引号

时间:2018-08-06 14:50:02

标签: regex string perl

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

"Key1:Value1,
 Key2:value2,
 Key3:namespace="randomName",
 Key4:Some other value,
 Key5:namespace="anotherRandomName"
...
"

我想用namespace="randomName"代替namespace='randomName'(只是从双引号到单引号)。

使用perl regex的最佳方法是什么?

1 个答案:

答案 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'