Переход в режим поиска по шаблону
ЛАБОРАТОРНАЯ РАБОТА
Тема: Использования регулярных выражений для поиска и замен в редакторе MS Word и контроля форматов данных в html-формах"
Цель работы: Познакомиться с возможностями применения регулярных выражений для поиска и замен в документах MS Word и контроля правильности заполнения полей в html-формах.
MS Word позволяет выполнять достаточно сложные операции, связанные с поиском и заменой. Помимо классических операций, основанных на подстроках, есть возможность более сложного поиска по оформлению или по шаблону (т.е. с использованием регулярных выражений).
ЗАДАНИЕ 1 (Операции поиска и замены, основанные на форматах)
Создать новый документ Word, вставить в него следующий текст (Times New Roman, 12px):
С помощью операции "Поиск и замена" (Ctrl+H) автоматизировать указанное ниже изменение форматов.
а) Найти в тексте слова MS Word, и заменой назначить для них новые свойства шрифта: Verdana, 11px, полужирный.
б) Для фрагментов, выводимых шрифтом Verdana, заменить семейство шрифтов на Arial, сохранив остальные свойства.
Действия выполнить в двух режимах: первое задание — пошаговой (кнопка Заменить), а второе — полной заменой (кнопка Заменить Все)
Поиск с использованием подстановочных знаков
Для повышения гибкости текстового поиска в формах "Найти" (Ctrl+F) и "Найти и заменить" MS Word можно применять аналоги регулярных выражений — шаблоны поиска, которые строятся с помощью подстановочных знаков.
Подстановочные знаки и синтаксис записи шаблонов в MS Word только частично совпадают с общепринятыми правилами для регулярных выражений, и реализуются в упрощенной форме .
Переход в режим поиска по шаблону
Чаще всего Word выполняет текстовый поиск заданной подстроки, т.е. все символы, которые введены в поле "Найти" трактуются буквально. При поиске по шаблону нужно использовать, а значит, интерпретировать некоторые символы как служебные.
Переключение в этот режим происходит, когда в форме поиска списке параметров поиска установлен флажок "Подстановочные знаки". Этот список появляется после нажатия кнопки "Больше" (рисунок слева). После установки флага "Подстановочные знаки" флажки "Учитывать регистр" и "Только слово целиком" становятся недоступными (рисунок справа).
MS Word применяет общее правило: если пользователем выполняется какой-либо специальный тип поиска (например, по формату), то ниже поля "Найти" выводятся параметры, выбранные для этого специального поиска. Однако, после установки флажка "Подстановочные знаки", вместо параметров будет показан текст "Подстановочные знаки".
Только в этом случае выражение, записанное в поле "Найти", будет интерпретироваться не буквально, а как шаблон для поиска.
Задание регулярного выражения
При поиске по шаблону его строят с применением служебных символов, которые в MS Word носят название подстановочных знаков.
Например, в следующем контексте подстановочный знак "звездочка" сопоставляется с группой произвольных символов: по шаблону "к*й" могут быть найдены слова "какой" и "квадратный".
Регулярное выражение для поиска формируется в поле "Найти".
Если пользователю хорошо знакомы используемые в Word подстановочные знаки, то шаблон для поиска можно сформировать вручную. Иначе можно использовать вставку служебных символов из списка подстановочных символов.
Этот список появляется при нажатии кнопки "Специальный" (см. рисунок ниже). Так как регулярное выражение обычно представляет собой комбинацию обычных и служебных символов, то выбор символов из списка служебных сочетается с ручным вводом дополнительного текста из обычных символов.
Помимо служебных символов, список подстановочных знаков содержит позиции для символов, относящихся к форматированию текста (длинное тире, неразрывный пробел и т.п.) и к графическим объектам.
Замечание
Перечень и смысл подстановочных знаков, которые можно применять в шаблонах текстового поиска MS Word, приведен в справочной информации в конце лабораторной работы.
Если в шаблон нужно включить служебный знак в роли обычного символа, то его, как обычно в регулярных выражениях, нужно экранировать с помощью обратной косой черты (\). Например, чтобы отыскать в анализируемом тексте вопросительный знак (служебный — шаблон "любой символ"), нужно в соответствующей позиции регулярного выражения указать \?.
Для группировки подстановочных знаков и текста используются круглые скобки, которые непосредственно на сопоставление не влияют. Но группировка оказывается полезна для целей квантификации или при создании обратных ссылок.
Квантификаторы
В языке подстановочных символов MS Word определен ряд квантификаторов.
Служебный символ @ используется для обозначения того, что предыдущий атом должен встретиться в тексте не менее одного раза (верхняя граница повторений не задается).
Точное число повторений n задается конструкцией {n}. Этот квантификатор
Синтаксис для ограниченного {m,n} и неограниченного {m,} диапазонов числа повторений в документации приводится, однако реально эти квантификаторы могут не поддерживаться. Об этом будет свидетельствовать сообщение "Поле Найти содержит неверный шаблон поиска".
ЗАДАНИЕ 2 (Простые шаблоны для поиска замены)
Для выполнения задания использовать фразу:
Написать шаблон для поиска отдельных слов в тексте
1. Выяснить, каким образом выполняется сопоставление с подстановочным знаком * — ищутся подстроки минимальной или максимальной возможной длины. Для этого создать шаблон для поиска подстроки, начинающейся буквы Н и заканчивающейся мягким знаком (их в строке два)
2. Написать шаблон для выделения отдельных слов.
3. Путем операции замены в приведенном тексте слова, состоящие из шести букв (использовать квантификатор) отформатировать так, чтобы они выводились курсивом.