Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практика-КТЛ.doc
Скачиваний:
48
Добавлен:
13.02.2015
Размер:
182.78 Кб
Скачать

§2. Поиск с подстановочными знаками

Помимо лингвистических задач, связанных с поиском в тексте конкретных слов, могут быть и такие, в которых искомое слово заранее не известно. Например, может потребоваться найти в тексте:

  • все слова определённой длины (например трёхбуквенные);

  • все слова с определённым префиксом или суффиксом;

  • все конструкции, обособленные с двух сторон запятыми и т. п.

Для решения таких задач можно воспользоваться специальным режимом поиска, предоставляющим расширенные возможности, — поиском с подстановочными знаками (англ. wildcards букв, 'дикие карты'). Для включения режима нужно, нажав кнопку «Больше» в окне «Поиск и замена», установить галочку «Подстановочные знаки».

4

В речи картёжников «дикими картами» называются карты, которые по предварительной договорённости игроков или в соответствии с правилами игры могут заменять любую другую карту. Например, в большинстве карточных игр «дикой картой» является джокер. У подстановочных знаков такая же функция: они могут заменить в шаблоне поиска любой символ или любую группу символов.

Действие подстановочного знака ? наиболее похоже на джокер в карточной игре: ? шаблоне совпадает при поиске с любым символом текста. Например, шаблон г?д совпадёт с гад, гид, и год.

Подстановочный знак * заменяет собой любую последовательность символов. Например, если ввести шаблон г*д, то будут найдены совпадения год и город.

Часто бывает нужно «привязать» шаблон поиска к началу или концу слова. Начало слова отмечается подстановочным знаком <, а конец — знаком >. Так, шаблон поиска горо совпадёт с фрагментами слов город и гороскоп, но не огород. Если же ввести в качестве шаблона ор>, то будут найдены слова ор и yпор, а слово оратория найдено не будет.

Можно сконструировать подстановочный знак, который будет совпадать при поиске не с любым символом текста (как ?), а только с одним из указанных. Для этого список символов, с которым может совпасть подстановочный знак, нужно заключить в квадратные скобки. Например, шаблон кр[ае]н совпадёт со словами кран и крен.

Внутри квадратных скобок можно задавать через дефис диапазоны символов (по алфавиту): шаблон [в-н]оль позволит найти слова голь, ноль и моль, но не боль и нe роль. Алфавитный порядок, используемый при задании диапазона, соответствует порядку следования символов в кодовой таблице, для просмотра которой в Microsoft Word 2003 можно выбрать в меню «Вставка» пункт «Символ...», а в Microsoft Word 2007 — нажав на кнопку «Символ» на ленте «Вставка» и выбрав из выпадающего списка пункт «Другие символы...». В кодовой таблице, в частности, заглавные буквы предшествуют строчным, латинские — кириллическим, а русская буква ё на входит в диапазон символов а-я. Таким образом, подстановочный знак, соответствующий строчной русской букве, будет иметь вид [а-яё].

Если в перечень символов в квадратных скобках необходимо включить дефис, его нужно указывать первым или последним, например, перечень знаков арифметических операций [-+*/]. Если дефис будет располагаться между двумя другими символами внутри квадратных скобок, то эти символы будут интерпретированы как диапазон.

Вместо того, чтобы перечислять в квадратных символы, которые могут совпадать с подстановочным знаком, можно, наоборот, перечислить те символы, которые не должны с

5

ним совпадать, поставив сразу после открывающей квадратной скобки !. Такой подстановочный знак будет совпадать с любыми символами, кроме перечисленных. Например, шаблон ко[!е-р]а совпадёт со словами кода и коса, но не кожа или кора.

Вся конструкция в квадратных скобках воспринимается Microsoft Word как единый подстановочный знак, и при поиске он будет совпадать только с одним символом текста.

Если возникает необходимость повторить некий знак (обычный или подстановочный) в шаблоне поиска несколько раз, то можно написать его один раз, и следом за ним в фигурных скобках указать количество повторений. Например, шаблон [а-я][а-я][а-я] идентичен шаблону [а-я]{3}. Если количество повторений не определено, то вместо фигурных скобок нужно поставить знак @. Так, шаблон [а-я]@ совпадет с любыми последовательностями строчных русских букв.

Если необходимо «лишить» подстановочный знак его специального значения и сделать его обычным символом, то перед ним следует поставить обратный слеш \. Например, для поиска слова, за которым следует вопросительный знак, можно использовать поисковый шаблон <*>!?.

Поиск с подстановочными знаками всегда чувствителен к регистру (заглавные и строчные буквы различаются).

Задачи

Текст: Great Expectations (dickens.doc)

  1. Найти в тексте первые пять слов, состоящих из трёх букв.

  2. Найти в тексте трёхбуквенные слова, начинающиеся на букву r и заканчивающиеся на букву t.

З. Найти в тексте первые пять трёхбуквенных слов, начинающиеся на согласную букву.

  1. Сколько в тексте трёхбуквенных слов следующей структуры: VCC, где V — любая гласная буква, С — любая согласная буква?

  1. Найти в тексте слова, состояние из пятнадцати букв.

  1. Найти в тексте все слова с префиксом ип- и суффиксом -ness (существительные, образованные от прилагательных с семой отрицания).

  2. Сколько в тексте слов с префиксами in-, ir-, im-, ип- и суффиксом ly (отрицательных наречий)?

8. Есть ли в тексте слова с кластером из пяти согласных букв?

9. Сколько раз встречаются в тексте наречия в сравнительной степени, образованные аналитическим способом?

6

10. Найти в тексте все сентенциональные наречия на -ly в инициальной позиции (в начале предложения) и оформить их списком в отдельном файле.

Текст: names.doc

11. В файле представлен список сотрудников организации. Необходимо составить в отдельном файле список всех женщин, работающих в данной организации.