在搜索中插入引号并替换正则表达式变量

时间:2013-06-01 16:59:28

标签: regex perl

我在Perl中有以下字符串。

$string = "The date is SOMEDATE today";

我想用字符串'2013-05-30'替换SOMEDATE(包括单引号)。所以$ string的预期最终值是

$string = "The date is '2013-05-30' today";

问题是2013-05-30的日期是我放入变量的日期。

$date = "\'2013-05-30\'";

所以如果我这样做

$string =~ s/SOMEDATE/$date/g;

我最终得到了

 The date is 2013-05-30 today

注意,单引号已经消失。我如何获得单引号? 提前谢谢。

1 个答案:

答案 0 :(得分:1)

不知何故,你并没有真正告诉我们你做了什么。这应该有效:

$ cat x.pl
#!/usr/bin/env perl

$string = "The date is SOMEDATE today";
$date = "'2013-05-30'";
$string =~ s/SOMEDATE/$date/g;
print "$string\n";

$ ./x.pl
The date is '2013-05-30' today