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

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

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

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

2017-11-27 857
Задача 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 с.