Home » Скрипты

Расшифровка GREP-выражений

11 Апрель 2010 2 Comments

GREP является одной из самых мощных возможностей в InDesign, так как  позволяет cэкономить огромное количество времени. Все, что можно делать с помощью обычного поиска и замены текста, вы можете сделать и с GREP, а также есть много других вещей, которые можно  сделать только с GREP.

Но с  GREP бывает трудно разобраться… Основы достаточно легко понять: концепция шаблонов – для любого символа, в верхнем и нижнем регистре, начало и конец абзацев, пустой абзац, количество повторений, и даже основные включения и исключения групп символов. А далее вложенные группировки, отношения к предшествующему тексту, к последующему тексту… Добавьте  модификаторы (Modifiers), Posix-ы классов и групп… И даже опытный пользователь GREP скоро потеряет контроль над своими творениями.

Adobe не объясняет, почему какое-то выражение GREP не может найти что-нибудь, так как это может случиться по ряду причин:

  1. Возможно, искомого текста просто нет в вашем документе.
  2. Может быть, вы сделали логическую ошибку, и ваше GREP выражение синтаксически правильно, но не то, что вы имели в виду.
  3. И, возможно, ваше GREP выражение просто неправильное;  но InDesign может сказать  только то, что он «не может найти соответствия».

По первому пункту нечего сказать, но вот с проблемами второго и третьего можно облегчить себе жизнь при помощи скрипта What the Grep,  который «расшифровывает» и анализирует выражение GREP на его на «правильность».

Скачайте и распакуйте скрипт в папку пользовательских скриптов Индизайна, затем запустите его. Вы увидите диалоговое окно:

whatTheGrepscript

Первоначально в этом окне появится последнее вами использованное GREP-выражение. Вы можете его удалить и ввести своё, новое. Кнопка Close закрывает диалог ничего не делая. Кнопка Show Me создаст новый документ Индизайна и выведет полное объяснение каждого из спецсимволов в выражении. При этом GREP-выражение станет намного понятнее. Если выражение содержит где-то ошибки – это будет обязательно отмечено.

Нажатие на клавиатуре клавиши Enter (Return) приведет к такому же действию как и нажатие кнопки Show Me, а нажатие Esc приведет к закрытию диалога подобно нажатию Close.

Внимание! Скрипт предназначен для анализа и расшифровки только  выражений поиска, которые вводятся в поле Find What, но не для выражений замены (между ними есть разница).

Более подробно  об этом скрипте с интересными авторскими комментариями и с описанием особенностей читайте на сайте http://jongware.com/idgrephelp.html
Там же найдете  таблицу с расшифровкой GREP-символов, составленную автором скрипта.

Прошу прощения за возможные неточности в переводе GREP-терминологии

2 Comments »

  • Алексей Клецель said:

    Супер. Очень полезный пост.

  • nikolatype said:

    Большое СПАСИБО. Вещь!

Leave your response!

You must be logged in to post a comment.