Поиск начала / конца слова с помощью ripgrep

С grep Я могу искать начало и конец слова с

grep -e '\<leg\>' <where to search>

это найдет I have a leg. но нет play allegro here,

Ripgrep (0.10.0) не поддерживает такой способ написания этого регулярного выражения. Мой вопрос таким образом:

Как "grep" для вхождений в начале / конце слова с ripgrep?

1 ответ

Решение

ripgrep не поддерживает \< а также \> границы слова, которые соответствуют только началу и концу слова соответственно. ripgrep поддерживает \b, который соответствует границе слова в любом месте. В этом случае этого достаточно для вашего конкретного примера:

$ echo 'play allegro here' | rg '\bleg\b'
$ echo 'I have a leg.' | rg '\bleg\b'
I have a leg.    

ripgrep также поддерживает grep -w флаг, который фактически делает то же самое в этом случае:

$ echo 'play allegro here' | rg -w leg
$ echo 'I have a leg.' | rg -w leg
I have a leg.
Другие вопросы по тегам