Расшифровка GREP-выражений
GREP является одной из самых мощных возможностей в InDesign, так как позволяет cэкономить огромное количество времени. Все, что можно делать с помощью обычного поиска и замены текста, вы можете сделать и с GREP, а также есть много других вещей, которые можно сделать только с GREP.
Но с GREP бывает трудно разобраться… Основы достаточно легко понять: концепция шаблонов — для любого символа, в верхнем и нижнем регистре, начало и конец абзацев, пустой абзац, количество повторений, и даже основные включения и исключения групп символов. А далее вложенные группировки, отношения к предшествующему тексту, к последующему тексту… Добавьте модификаторы (Modifiers), Posix-ы классов и групп… И даже опытный пользователь GREP скоро потеряет контроль над своими творениями.
Adobe не объясняет, почему какое-то выражение GREP не может найти что-нибудь, так как это может случиться по ряду причин:
- Возможно, искомого текста просто нет в вашем документе.
- Может быть, вы сделали логическую ошибку, и ваше GREP выражение синтаксически правильно, но не то, что вы имели в виду.
- И, возможно, ваше GREP выражение просто неправильное; но InDesign может сказать только то, что он «не может найти соответствия».
По первому пункту нечего сказать, но вот с проблемами второго и третьего можно облегчить себе жизнь при помощи скрипта What the Grep, который «расшифровывает» и анализирует выражение GREP на его на «правильность».
Скачайте и распакуйте скрипт в папку пользовательских скриптов Индизайна, затем запустите его. Вы увидите диалоговое окно:
Первоначально в этом окне появится последнее вами использованное GREP-выражение. Вы можете его удалить и ввести своё, новое. Кнопка Close закрывает диалог ничего не делая. Кнопка Show Me создаст новый документ Индизайна и выведет полное объяснение каждого из спецсимволов в выражении. При этом GREP-выражение станет намного понятнее. Если выражение содержит где-то ошибки — это будет обязательно отмечено.
Нажатие на клавиатуре клавиши Enter (Return) приведет к такому же действию как и нажатие кнопки Show Me, а нажатие Esc приведет к закрытию диалога подобно нажатию Close.
Внимание! Скрипт предназначен для анализа и расшифровки только выражений поиска, которые вводятся в поле Find What, но не для выражений замены (между ними есть разница).
Более подробно об этом скрипте с интересными авторскими комментариями и с описанием особенностей читайте на сайте http://jongware.com/idgrephelp.html
Там же найдете таблицу с расшифровкой GREP-символов, составленную автором скрипта.
Супер. Очень полезный пост.
Большое СПАСИБО. Вещь!