Стандартный поиск по тексту в InDesign CS2 позволяет использовать четыре шаблона (^9 - для любой цифры, ^$ - для любой буквы, ^? - для любого символа и ^w - для любого пробела). Эти же шаблоны можно использовать и в InDesign CS3 во вкладке поиска по тексту (Text). Эти без сомнения полезные шаблоны, однако имеют ряд очевидных ограничений: используя эти шаблоны нельзя организовать поиск повторяющихся элементов (например, чтобы найти все числа в тексте придется последовательно перебирать сначала все числа из одной цифры, затем из двух, из трех и т.д.), так же шаблоны нельзя использовать в строке замены (можно использовать Рисунок ^9 для поиска последовательности состоящей из слова “Рисунок” и следующей за ним цифры, однако замена данной последовательности на что-либо приведет к потере цифры).
При использовании же регулярных выражений, для замены всех слов “Рисунок” с последующей цифрой на слово “Фото” с сохранением цифры, достаточно в строке поиска указать Рисунок (\d), а в строке замены Фото $1. Последовательность $1 в строке замены является указателем на результат поиска заключенный в скобки в строке поиска. Более общий случай данного примера, выглядит так: строка поиска: Рисунок (\d+), строка замены: Фото $1, и позволяет найти и заменить все слова “Рисунок” с последующим целым числом (т.е. последовательностью из одной или более цифр) на слово “Фото” с сохранением следующего числа.
Еще один пример использования регулярных выражений для поиска последовательности символов. Довольно часто возникает задача поиска последовательности из прописных букв и применения к ней символьного стиля (обычно small caps для создания капителей). Эта задача так же имеет очень простое решение при использовании GREP. Строка поиска: \u\u+, строку замены в данном случае нужно оставить пустой (так как менять мы будем только форматирование), а в поле Change Format нужно указать символьный стиль который мы хотим применить к результату поиска. Метасимвол \u в данном примере обозначает все прописные буквы, знак + как и предыдущем примере означает (один или несколько), таким образом наш поисковый запрос найдет последовательность минимум из двух прописных букв.
Другая сильная сторона GREP – использование альтернатив. Например чтобы найти слова “слон” и “клон” можно использовать выражение (с|к)лон. Расширенная версия данного выражения – (с|к)лоны? может быть использована для поиска формы множественного числа (в результате будут найдены слова “слон”, “клон”, “слоны”, “клоны”). Знак вопроса в данном выражении означает, что буква “ы” может присутствовать на конце слова, а может и отсутствовать. Еще один пример простого, но одновременно мощного выражения – д[аоуеиыэюя]м. Данное выражение соответствует такой последовательности: буква “д”, затем гласная, затем буква “м”. Эта последовательность может быть как отдельным словом (дом, дым), так и встречаться внутри более длинного слова (задуматься, дымиться). В дальнейшем мы рассмотрим как осуществлять поиск только по словам целиком. Этот пример так же демонстрирует как определить свои собственные шаблоны, в данном случае шаблон для гласных букв.
