Регулярное выражение
^(11+)\1+$
Для чего, по вашему мнению, можно использовать данное регулярное выражение?
Подсказка: применять его следует к строке, состоящей только из единиц, например: "11111".
Ответ:
^(11+)\1+$
Для чего, по вашему мнению, можно использовать данное регулярное выражение?
Подсказка: применять его следует к строке, состоящей только из единиц, например: "11111".
Это регулярное выражение покажет, является ли число единиц в строке простым числом.
Как же это работает?
(11+) — соответствует группе единиц
\1+ — ссылка на выражение в скобках, будет соответствовать многократно повторённой той же группе единиц.
Интерпретатор регулярных выражений будет искать в строке группы единиц: сначала 11, затем 111, затем 1111 и так далее. При этом соответствие будет найдено только в том случае, если первая группа начинается с самого первого символа строки, а последняя группа заканчивается последним символом строки. Другими словами, если в строке укладывается целое число групп одинаковой длины.
Математически это означает, что данное число (полная строка единиц) делится нацело на другое число, а значит, исходное число не является простым.
Итак, если в строке число единиц — простое число, такая строка не будет подходить под это регулярное выражение. Если число единиц — не простое число, соответствие будет найдено.
Великий немецкий композитор Людвиг ван Бетховен был глухим последние 30 лет жизни. Тем не менее, он слышал музыку внутренним ухом, зажимая трость зубами и упираясь ей в рояль. Именно в этот период жизни он создал одно за другим свои самые известные во всём мире произведения.