Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

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

2017-11-27 919
Задача 5. Найти в тексте слова, состоящие из пятнадцати букв. 0.00 из 5.00 0 оценок
Заказать работу

Решение. По аналогии с задачей 1, казалось бы, можно выполнить поиск по тексту со следующим шаблоном в поле «Найти»: <???????????????>. Однако с таким шаблоном будут совпадать не только слова, но и словосочетания: GREAT EXPECTATIONS by Charles Dickens..., My father's family name being Pirrip... и т. д.

Это не то, что требовалось, однако никакой ошибки нет. Дело в том, что подстановочный знак? означает любой символ — не только букву, но и цифру, и знак препинания, и даже пробел или знак абзаца («красную строку»). Таким образом, конструкция <???????????????> читается: начало слова, за которым следует пятнадцать любых символов (необязательно букв), за которыми следует конец слова (необязательно того же самого слова). Легко видеть, что найденные сочетания слов действительно состоят из пятнадцати символов, начинаются в начале одного слова и заканчиваются в конце другого.

Как исправить конструкцию, ясно из решения задачи 3 — можно перечислить все буквы латинского алфавита в квадратных скобках [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ] и повторить эти скобки 15 раз.

Разумеется, вводить такую длинную строку в поле «Найти» очень неудобно. Её можно существенно сократить, воспользовавшись двумя приёмами. Во-первых, подряд идущие в алфавите буквы внутри квадратных скобок можно заменять первой и последней буквой диапазона, записанными через дефис: [a-zA-Z]. Во-вторых, вместо многократного повторения некоторого символа (обычного или подстановочного) можно написать его один раз, и следом за ним указать в фигурных скобках количество повторений: [a-zA-Z]{15}.

Таким образом, шаблон поиска примет вид: <[a-zA-Z]{15}>.

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

Решение. Если бы длина искомых слов была известна, то задачу можно было бы решить по аналогии с предыдущими. Пусть, например, длина слова 10 букв. Префикс иn- состоит из двух букв, суффикс -ness — из четырёх, соответственно, на долю корневой морфемы остаётся 10 - (2 + 4) = 4 буквы, и в поле «Найти» следует ввести шаблон поиска <un[a-z){4}ness>. Это действительно работает: первое найденное слово — uneasiness:...in my first uneasiness and discontent I had turned to her for help, as a matter of course...

Но длина искомого слова (а следовательно, и корневой морфемы) нам неизвестна, поэтому какое число записать в фигурных скобках — непонятно. В такой ситуации следует вместо фигурных скобок использовать знак @: <un[a-z]@ness>. Вся конструкция читается так: искать начало слова, после которого идут буквы и и n, после которых идёт одна или несколько строчных английских букв, после которых идут буквы n, е, s и s, после которых идёт конец слова.

Остаётся учесть тот факт, что слово может начинаться не только со строчной буквы, но и с заглавной буквы U. Таким образом, итоговый шаблон поиска будет выглядеть следующим образом: <luU]n[a-z]@ness>.

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

Решение. Задача отличается от предыдущей тем, что искомое слово может начинаться с одного из нескольких отрицательных префиксов: in-, ir-, im- или ип-. Перечислить их в квадратных скобках (типа [inirimun]) нельзя, потому что в тексте на месте квадратных скобок должен быть только один из перечисленных в скобках символов [конструкция [inirimun] эквивалентна, например, такой: [imrun] — ни повтор символов, ни порядок их следования внутри квадратных скобок роли не играют).

Выходом может быть шаблон следующего вида: <[iulU][mnr][a-z]@ly>. Разумеется, в этом случае будут найдены также слова с «префиксами» иr- и um-, если гаковые окажутся в тексте. Кроме того, будут найдены слова типа imply и unexpectedly, но

формально они удовлетворяют заданным критериям поиска, поэтому с ними ничего поделать нельзя.

Ответ. 157, включая «лишние» слова, формально похожие на отрицательные наречия.

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

Решение. Задача сводится к поиску пяти идущих подряд согласных букв. В условии не сказано, что кластер должен быть строго в начале, в середине или в конце слова, поэтому «привязку» к границам слова (с использованием подстановочных знаков < и >) делать не нужно.

Итоговый шаблон поиска будет иметь следующий вид: [bcdfghjklmnpqrstvwxzBCpFGHJKLMNPQRSTVWXZ]{5}.


Поделиться с друзьями:

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

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

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.009 с.