Найти табуляцию и следующий за ней символьный текст за исключением случая, когда эта конструкция зак

  • Автор темы Автор темы lexana
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

lexana

Участник
Топикстартер
Сообщения
66
Реакции
20
Подскажите, пожалуйста, греп, находящий табуляцию и следующий за ней символьный текст за исключением случая, когда эта конструкция заканчивается абзацем.
Т. е. чтобы в примере ниже "(таб)ёклмн" нашел, а "(таб)ёпрст" пропустил:
еклмн.png
 
Ответ: GREP в InDesign. Что и как

Именно для такого примера срабоатет так:
\t([\u\l]+)(?=\t)

Для более универсальной констукции нужны дополнительные условия-ограничения, не указанные в задаче.
 
Ответ: GREP в InDesign. Что и как

Ошибочка, уважаемый Eugenyus, требовался ведь греп "находящий табуляцию и следующий за ней символьный текст за исключением случая, когда эта конструкция заканчивается абзацем" (видимо, символом конца абзаца).
Следовательно, не
Код:
\t([\u\l]+)(?=\t)
а
Код:
\t([\u\l]+)(?!=\p)
или
Код:
\t([\u\l]+)(?!=$)
 
Ответ: GREP в InDesign. Что и как

Виталий, ИМХО, тоже несколько ошибок...
Во-первых, не "\p", а "\r".
Во-вторых, не (?!=), а (?!).
В-третьих, в таком случае будет найден весь текст, кроме последней буквы в конце абзаца...
 
Ответ: GREP в InDesign. Что и как

В-третьих, в таком случае будет найден весь текст, кроме последней буквы в конце абзаца...
Я ж о чем :). Или думаете, не проверял прежде чем выложить свой вариант?
 
Ответ: GREP в InDesign. Что и как

Поторопимшись, да :)
 
Ответ: GREP в InDesign. Что и как

Именно для такого примера срабоатет так:
\t([\u\l]+)(?=\t)

Для более универсальной констукции нужны дополнительные условия-ограничения, не указанные в задаче.
Спасибо)
У меня, правда, конструкция оказалась чуть более "универсальная" -- с пробелами и цифрами в "ёклмн"-ах и "ёпрст"-ах. Пришлось видоизменить на (\t)(.+)(?=\t)
 
Ответ: GREP в InDesign. Что и как

Указано было "символьный текст" ([\l\u]), а не все подряд (.). Некорректная постановка задачи.
 
Статус
Закрыто для дальнейших ответов.