[ID CS4-CS6] Запрос корректно работает при поиске/замене и некорректно в GREP-стиле

agava

Участник
Топикстартер
Сообщения
45
Реакции
1
Добрый день! Требуется помощь.

Ниже исходный текст. Цветом выделены сноски. Задача сделать их superscript.
Снимок экрана 2019-01-15 в 2.20.55 PM.png

Ищу следующее регулярное выражение
(\d(\,\s\d){0,}) любая цифра, за которой следует запятая с пробелом ноль или несколько раз

Ищу по трем условиям
(?<=[a-z]) после любой маленькой буквы
(?<=\;\s) после точки с запятой и пробела
(?<=\n|\r) после конца абзаца или принудительного переноса

Итоговый запрос выглядит так:
(?<=\;\s)(\d(\,\s\d){0,})|(?<=[a-z])(\d(\,\s\d){0,})|(?<=\n|\r)(\d(\,\s\d){0,})

Если применить его в окне Find/Change, все работает, получается нормальный результат:
Снимок экрана 2019-01-15 в 2.21.49 PM.png

Но когда пробую прописать абсолютно тот же запрос в виде GREP Style, результат получается другой (обвела сноску, которую игнорирует):
Снимок экрана 2019-01-15 в 2.22.03 PM.png

Что я делаю не так?
Вот файл на всякий случай
test.indd
 

NNN5

Модератор
15 лет на форуме
Сообщения
1 256
Реакции
1 012
Стиль относится к одному абзацу, а у вас выделение в пределах двух разных абзацев.
 
  • Спасибо
Реакции: agava

Oleg Butrin

20 лет на форуме
Сообщения
1 990
Реакции
1 213
Когда вы ищете некую последовательность в тексте из нескольких параграфов, то у вас может быть "после конца абзаца или принудительного переноса ". А вот GREP-стиль ищет текст в параграфе, к которому применен.
 
  • Спасибо
Реакции: agava

agava

Участник
Топикстартер
Сообщения
45
Реакции
1
А, поняла))) Значит последнее условие поиска нужно поменять на
(?<=^)\d(?=\u)
Верно?
 

Petruccio

20 лет на форуме
Сообщения
923
Реакции
214
А сноски у вас самодельные что-ли?
Если нет то знак сноски ищется по символу ~F
 

MT

15 лет на форуме
Сообщения
246
Реакции
93
Я бы делал стиль "Сноска" для каждого условия.
Снимок экрана 2019-01-17 в 00.06.39.png

Третье условие сработает и после \p и после \n
 

agava

Участник
Топикстартер
Сообщения
45
Реакции
1
Я бы делал стиль "Сноска" для каждого условия.
Третье условие сработает и после \p и после \n

В итоге я так и сделала, разбила на три запроса. Только третий запрос все же оставила (?<=^)\d(?=\u). На случай, если в начале строки попадется сокращение от порядкового числительного, например 1st или 2nd