Авторы
предыдущая
статья

следующая
статья

17.03.2006 | Игры

Регулярные выражения

Язык компьютерных программ немножко отличается от обычного языка. Но чем-то и похож, конечно...

1

Лингвистическая задача Марии Рубинштейн

В компьютер заложен словарь русского языка. Каждое слово занимает отдельную

строку:

а

аба

абажур

абак

...

...

Имеется программа для поиска слов в словаре. Пользователь задает определенный шаблон, и программа выдает ему слова, соответствующие этому шаблону. Простейший шаблон - это буква: пользователь вводит букву, и программа находит в словаре все слова, содержащие эту букву (так, по букве щ будут найдены слова прыщ, трещотка, щи и мн.др.). Шаблоном может быть любое сочетание букв (тогда программа находит все слова, в которых есть это сочетание букв). Для более сложного поиска кроме букв используются некоторые вспомогательные символы. Вот некоторые примеры шаблонов:

- любая из букв а, б, в, г, д и никакая другая (в квадратных скобках могут стоять любые буквы в любом количестве)

- любая из букв от а до в

к{n} - данная буква (здесь -- к) встречается ровно n раз ("n" -- любое число)

к{n,} - данная буква встречается n раз или более

к* - данная буква либо встречается, либо нет

^дом - отсутствие других букв в начале слова, т.е. слово начинается на первую в шаблоне букву

дом$ - отсутствие других букв в конце слова, т.е. слово кончается на последнюю в шаблоне букву

Шаблоны можно соединять. Так, по шаблону ^пят*а будет найдено: пята, пятка, пятачок и т.д., и не будут найдены, напр.,: запятая, пятерка, спятить.


Задание.

Напишите шаблоны для поиска:

А) всех слов, в которых подряд идут три и более гласные буквы (напр. радИОАстрономия, нЕУЯзвимость, нЕУЮтно).

Б) всех односложных слов, кончающихся на букву "г" (напр. юг, взвизг).

В) всех пятибуквенных слов.


Указание.
Для простоты предположим, что в словаре нет слов с дефисами и прочими не-буквенными символами.

Здесь опубликован ответ на задачу "Регулярные выражения" и шараду


2

Шарада Марии Рубинштейн

К молчанью призывает первый слог,

Второй - египетский могучий бог,

Согласье выражают слогом третьим,

Загадка получается в ответе.











Рекомендованные материалы


03.04.2010
Игры

Язык киваи

Не "кивай", а "киваи": это язык, на котором говорят около десяти тысяч человек в Папуа - Новой Гвинее. И мы немножко поговорим.

05.03.2010
Игры

Китайские церемонии

Китайский историк и государственный деятель I в. н.э. Бань Гу в своём труде «Хань шу» («Книга о династии Хань») приводит список известных людей прошлого, разделив их по своему усмотрению на девять категорий в зависимости от их личных качеств...