Скажем, у меня есть текст в следующем формате:
То, что я пытаюсь стилизовать с помощью GREP, — это начало каждого нового абзаца (после пустой строки) до тех пор, пока не будет достигнута цифра или возврат, чтобы это выглядело примерно так:
Я использовал regexr , чтобы попытаться найти решение, но, похоже, оно не на 100% совместимо с утилитой InDesign GREP.
Проблема в том, что использование разрыва абзаца для каждой новой строки означает, что каждая строка является абзацем, а с помощью стилей абзаца GREP вы можете ориентироваться только на один абзац. Невозможно сказать, находитесь ли вы на первой линии, потому что каждая строка является первой строкой. Единственный способ обойти это - проверить, пуст ли предыдущий абзац... что я не думаю, что это возможно.
Если изменить разрывы абзаца на мягкие разрывы, вы можете использовать это:
(?<!\n).*?(?=\d|\n)
Если изменение разрывов невозможно, у меня нет обходного пути для абзацев без номеров, но вы можете настроить таргетинг только на те, которые используют это:
^.*?(?=\d)
^.*?(?=\d|\n)
Объяснение -
^
соответствует началу абзаца
.
соответствует любому символу
*?
соответствует 0 или 1 раз (поэтому мы совпадаем только до первой цифры)
(?=)
смотрит вперед (соответствует, но не включает то, что в скобках)
\d
соответствует любой цифре
|
ИЛИ ЖЕ
\n
соответствует разрыву строки
Для справки, Все это можно найти в справке InDesign .
Это решение не основано на GREP, но, возможно, оно вам подходит. Для этого потребуется изменить разрывы абзацев на разрывы строк (что, учитывая контекст, было бы правильным?).
Просто используйте вложенный стиль строки, и он будет стилизовать первую строку каждого абзаца, независимо от того, что там находится.
shift + return
а не простоreturn
веризм
веризм
^.*?(?=\d|\n)
(не \r, как в вашем примере), и это очень близко. Однако в моем примере это не работает для третьего абзаца.Кай
веризм
Кай
веризм
Кай
\n
на$
?веризм
Кай
джуджа
веризм