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 ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.