Kodomo

Пользователь

Задание

Предупреждение на будущее

Регулярные выражения – очень слабое и зачастую трудно читаемое выразительное средство. По существу, все из этих задач демонстрируют лишь бессилие регулярных выражений.

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

Вторая половина заданий демонстрирует проблемы применения регулярных выражений к сложным задачам. Такие задачи в жизненных ситуациях почти никогда не стоит решать с помощью регулярных выражений.

  1. (0.1 балла) напишите регулярное выражение, которое описывает множество всех знаков пунктуации, которые могут разделять предложения

  2. (0.1 балла) напишите регулярное выражение, которое описывает множество всех дворянских фамилий (Фамилия, Фамилия-Фамилия, Фамилия-Фамилия-Фамилия и т.п)

  3. (0.1 балла) напишите регулярное выражение, которое описывает множество всех мыслимых записей дат (01-12-2012, 3/10/2010, 1.2.2022, 9.5.45 – т.е. дата может быть одной или двумя цифрами, год может быть одной, двумя или четырьмя цифрами, и разделители могут быть точка, дробь, чёрточка).

  4. (0.1 балла) напишите регулярное выражение, которое описывает множество всех мыслимых адресов сайтов (http://.../.../...)

  5. (0.1 балла) напишите регулярное выражение, которое описывает множество всех мыслимых записей дней недели (Пн, Понедельник, Пон, Вт, вторник, и т.п.)

  6. (0.2 балла) напишите регулярное выражение, которое описывает множество всех чисел от 8 до 432.

  7. (0.2 балла) напишите регулярное выражение, которое описывает множество всех предложений. (В простом виде. Слова не содержат сокращений, прямой прямой речи. Предложение может быть сложносочинённым.)

  8. (0.2 балла) напишите регулярное выражение, которое описывает множество всех предложений, содержащих прямую речь.

  9. (0.2 балла) напишите регулярное выражение, которое описывает множество всех предложений. Среди слов могут встречаться сокращения, в том числе, содержащие точки в середине слова – например, "т.е."