Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Регулярные выражения > легкая подстановка, помогите


Автор: evya 1.2.2011, 18:13
есть символ ' в строке
 как перед ним поставить слэш \

Автор: Jimy 1.2.2011, 19:22
Код

my $str = "есть символ ' в строке";
$str =~ s/\\*'/\\'/g;
print $str;

\\*  - для того, чтобы не плодить слэши, если перед кавычкой уже стоит слэш.

Автор: evya 1.2.2011, 20:03
глупый вопрос а что означает *

Автор: sir_nuf_nuf 2.2.2011, 10:16
perldoc perlre


А вообще это означает, что предыдущий символ в регулярке повторяется 0 или более раз.
т.е. 
Код

$str =~ s/x*//g;

будет пытаться удалить 0 и более подряд идущих "x" в строке $str. причем будет пытаться удалить как можно больше

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)