Использование pcregrep с параметром --color - только выделить не захваченное выражение? - PullRequest
0 голосов
/ 25 января 2019

Я хотел бы использовать pcregrep с его параметром --color, чтобы выделить текст, который следует за определенным шаблоном:

например, если file.txt содержит:

bob says hi
chloe says hello

, затем выполняется:

pcregrep --color '(?:says)(.*)' file.txt

печатает

Боб говорит привет
Хлоя говорит привет

но я хочу:

Боб говорит привет
Хлоя говорит привет

Есть ли способ использовать pcregrep и выделять только текст, который следует за определенным регулярным выражением

1 Ответ

0 голосов
/ 26 января 2019

Ответом будет нет, вы не можете раскрасить только часть совпадения, даже если он не захватывает с помощью (?:..), как в вашем примере.

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

pcregrep --color '(?<=says)(.*)' data

Результат:

enter image description here

...