
В компьютерном жаргоне "wildcards" означает символ используемый для замещения одного или нескольких других символов. Русская локализация InDesign CS3 предлагает нам вариант перевода – "подстановочные символы". Я буду использовать термин "шаблон" так как он короче :-)
Шаблоны (Wildcards) – одна из основыных функций GREP. Большинство из них перечислены в пукте Wildcards выпадающго меню рядом со строкой поиска. Остальные находятся в двух пунктах меню: Quotation Marks и Posix.
Наконец, свои собственные шаблоны можно создавать через определение символьных классов. Рассмотрим какие шаблоны и как мы можем использовать.
1. Любой символ.Как следует из названия этому шаблону соответствует любой символ (в обычном текстовом поиске для этого используется шаблон
^?). Символ этого шаблона – точка. Если указать точку в строке поиска и нажать "Find", то поочередно будут найдены все символы в тексте (за исключением символа нового абзаца). Шаблон любого символа можно использовать в сочетании с другими символами или шаблонами. Например, результатом поискового запроса "
д..а" будут все слова из четырех букв начинающиеся на д и оканчивающиеся на а.
2. Любая заглавная буква.Шаблон
\u позволяет найти в тексте заглавные буквы. Тоесть все символы Unicode которые могут быть интерпретированы как заглавные буквы, такие как заглавные буквы латинского алфавита (в том числе и с диактрическими знаками), заглавные буквы кириллического алфавита, иврита, а также арабские. Пример –
\u\u+ для поиска аббревиатур. Данный запрос читается следующим образом: "найти заглавную букву (
\u) плюс еще хотябы одну следующую за ней заглавную букву" (оператор повторения
+ будет рассмотрен позже).
Точка и обратный слэш.Точка в GREP является шаблоном любого символа. А что если нам нужно найти точку в тексте, или символ обратного слэша? Для этого в поисковом запросе используется "экранирование" символом обратного слэша (
\). Поисковый запрос для точки выглядит следующим образом –
\. 3. Любая строчная буква.Для поиска строчных букв используется шаблон
\l (строчная L). Как и в случае заглавных букв, результатом поиска буду все символы Unicode, которые можно интерпретировать как строчные буквы. Например, результатом поискового запроса
\u\l+ будут все слова начинающиеся с заглавной буквы.
4. Любая буква.Находит любую букву, не делая различий между строчными и прописными.
[\l\u] на самом деле не шаблон, а символьный класс объединяющий два шаблона
\l и
\u. Но о символьных классах позже.
5. Любая цифра.\d – шаблон для поиска цифр от 0 до 9. В сочетании с оператором повторения (
\d+) позволяет найти все числа в тексте. Так же этому шаблону соответствуют все стилистически измененные цифры: степени, числители и знаменатели, а также дроби, созданные функцией Fraction из панели Character. Дроби введенные с использованием значения Unicode (например ¼ - 00BC) этому шаблону не соответствуют (они соответствуют только шаблону "любой символ").