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

hulk1776

Топикстартер
15 лет на форуме
Сообщения
735
Реакции
21
Нужны одно-, двух- и трехбуквенные предлоги с пробелом после них.
Чтобы не делать три запроса ("пробел ДО одной/двух/трех букв в начале слова в любом регистре")
(?<=\<(?i)(\w)\>)
(?<=\<(?i)(\w{2})\>)
(?<=\<(?i)(\w{3})\>)
собрался сделать один. Но конструкция
(?<=\<(?i)(\w{1,3})\>) выключает запрос.
Почему множитель(перечислитель) в данном случае не работает?
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
потому что переменная длина не допускается в lookahead/lookbehind
переформулируйте запрос
 
  • Спасибо
Реакции: hulk1776

hulk1776

Топикстартер
15 лет на форуме
Сообщения
735
Реакции
21
Вот, например: https://forum.rudtp.ru/threads/dvojnoj-positive-lookbehind-v-zaprose-grep.73457/#post-1129797
Лучше такие штуки зашить в grep-стиль. Сделать символьный стиль no break и присваивать его 1-3-буквенным словам+пробел после них.
Да, я это пишу в стиле заголовка.
А ссылка что-то не открывается.
 
Последнее редактирование:

Gad

Сообщения
2 975
Реакции
1 408
А ссылка что-то не открывается.
 
  • Спасибо
Реакции: hulk1776

hulk1776

Топикстартер
15 лет на форуме
Сообщения
735
Реакции
21
Отказался от люкбехайнда. Пусть не разрываются пробелы вместе со словами (хоть и неприятно):
Код:
\b\w{1,3}\b

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

Всем спасибо!
 
Последнее редактирование:

veretragna

γνώσις
Сообщения
578
Реакции
200
  • Спасибо
Реакции: Skvoznyak

Linxy

Девушка с битой
10 лет на форуме
Сообщения
2 277
Реакции
3 836
  • Спасибо
Реакции: blacksolg и hulk1776