Как проверить на |делать замену в Perl - PullRequest
1 голос
/ 04 мая 2011

У меня есть строка со следующими данными

"email@domain.com | firstname | lastname"

Я хочу заменить | lastname другим значением. Если я использую s/ для подстановки, что мне нужно сделать с | чтобы он узнал. Если я сделаю

$foo =~ s/ lastname/fillertext/;

работает нормально. но если я сделаю

$foo =~ s/ | lastname/fillertext/;

это не работает. Я пытался сделать - \|/ lastname, "| lastname", '| lastname'.

1 Ответ

8 голосов
/ 04 мая 2011

| имеет особое значение в регулярном выражении; если вы хотите соответствовать литералу |, вам просто нужно экранировать его:

$foo =~ s/ \| lastname/fillertext/;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...