LINUX.ORG.RU

Ответ на: комментарий от expelled

если включать пробел в шаблон, то будет работать. Но есть нюансы, почему этого я не могу сделать (привел ес-но упрощенный пример).

Больше интересует, почему не работае \b обозначающий в рег.выражениях границу слова?

anonymus123 ()
Ответ на: комментарий от anonymus123
> cat call
call asfsdf
call-var asdfsaf
call
calling asfsfga
> grep -P "^(?:call\s|call$)" call 
call asfsdf
call
> 

почему не работае \b

Matches a word boundary. Boundaries are determined when a word character is NOT followed or NOT preceeded with another word character

expelled ★★ ()
Последнее исправление: expelled (всего исправлений: 1)
Ответ на: комментарий от anonymus123

Но есть нюансы, почему этого я не могу сделать

egrep "^call([[:space:]]|$)"

как вариант.

AS ★★★★★ ()
Последнее исправление: AS (всего исправлений: 2)
Ответ на: комментарий от anonymus123

почему не работае \b обозначающий в рег.выражениях границу слова?

Потому что grep по умолчанию использует регулярные выражения POSIX, а не привычный PCRE, и в них это не поддерживается.

frozen_twilight ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.