[ID CC-CC2022] Почему не срабатывает множитель в ГРЕПе?

  • Автор темы Автор темы hulk1776
  • Дата начала Дата начала

hulk1776

Топикстартер
15 лет на форуме
Сообщения
738
Реакции
21
Нужны одно-, двух- и трехбуквенные предлоги с пробелом после них.
Чтобы не делать три запроса ("пробел ДО одной/двух/трех букв в начале слова в любом регистре")
(?<=\<(?i)(\w)\>)
(?<=\<(?i)(\w{2})\>)
(?<=\<(?i)(\w{3})\>)
собрался сделать один. Но конструкция
(?<=\<(?i)(\w{1,3})\>) выключает запрос.
Почему множитель(перечислитель) в данном случае не работает?
 
потому что переменная длина не допускается в lookahead/lookbehind
переформулируйте запрос
 
  • Спасибо
Реакции: hulk1776
Вот, например: https://forum.rudtp.ru/threads/dvojnoj-positive-lookbehind-v-zaprose-grep.73457/#post-1129797
Лучше такие штуки зашить в grep-стиль. Сделать символьный стиль no break и присваивать его 1-3-буквенным словам+пробел после них.
Да, я это пишу в стиле заголовка.
А ссылка что-то не открывается.
 
Последнее редактирование:
А ссылка что-то не открывается.
 
  • Спасибо
Реакции: hulk1776
Отказался от люкбехайнда. Пусть не разрываются пробелы вместе со словами (хоть и неприятно):
Код:
\b\w{1,3}\b

p.s. Модификатор \K правда не понял. Но, видимо, и не обязательно)) [:в данном случае:].

Всем спасибо!
 
Последнее редактирование:
  • Спасибо
Реакции: Skvoznyak
  • Спасибо
Реакции: blacksolg и hulk1776