2013-06-01 5 views
-2

У меня есть следующая строка в Perl.Вставка цитаты в переменную regex для поиска и замены

$string = "The date is SOMEDATE today"; 

Я хочу заменить SOMEDATE на строку «2013-05-30» (включая одиночную кавычку). Таким образом, мое ожидаемое окончательное значение для $ 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 

Note, одиночная кавычка ушла. Как получить одиночную кавычку? Спасибо заранее.

+0

Я не вижу ни одной котировки в любой команде подстановки. – squiguy

+0

опечатка ... добавленный это изменение. – broccoli

+1

Хм, это работает для меня на самом деле. Я точно управлял вашим кодом. – squiguy

ответ

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