Печатайте только совпадающие символы в Perl - PullRequest
0 голосов
/ 19 сентября 2019

Есть ли в Perl однострочник, если я хочу печатать только совпадающие символы с Perl.Например, у меня есть текстовый файл, подобный этому:

data.txt
foo1 bar baz
foo2 bar baz
bar foo3 baz
bar baz foo4

Я попробовал следующее, но не было никакого вывода:

perl -ne '/foo\d/ && print "$1"' data.txt

1 Ответ

4 голосов
/ 19 сентября 2019

$1 содержит часть, которая соответствует первой группе захвата, но в вашем регулярном выражении нет групп захвата.

Используйте $&, чтобы получить все совпадения по всему шаблону.

perl -ne '/foo\d/ && print "$&"' data.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...