Невозможно найти соответствие между границами строк, потому что функция поиска в less
работает по одной строке, разделенной новой строкой, за раз. Это имеет место независимо от реализации системного регулярного выражения (GNU, POSIX, PCRE и т.д.).
Пожалуйста, обратите внимание, что я не смог найти официальный исходный репозиторий для основной разработки less
, но для целей обзора кода здесь ссылки, которые следуют, взяты из дерева ресурсов FreeBSD.
Смотрите search.c:search_range() для реализации операции поиска. Цикл в нем вызывает line.c:forw_raw_line() для получения следующего блока содержимого, разделенного новой строкой . Этот блок передается в match.c:match_pattern(), где выполняется шаблон поиска (регулярное выражение).
Чтобы сопоставить несколько строк, вам нужно использовать другой инструмент. Один из вариантов - зайти в ваш редактор и использовать его возможности поиска, как предлагают другие. Вы можете вызвать редактор, нажав v
less
.