Программирование на языке Ruby
Шрифт:
Возможно,
Почему такое выражение не годится? Взгляните на этот пример и поймете:
Обратите внимание, что метод
3.14.4 Сопоставление с числовыми константами
Сопоставление с простым целым десятичным числом — самое простое. Число состоит из необязательного знака и последовательности цифр (правда, Ruby позволяет использовать знак подчеркивания в качестве разделителя цифр). Отметим, что первая цифра не должна быть нулем, иначе число будет интерпретироваться как восьмеричное.
Целые константы в других системах счисления обрабатываются аналогично. Образцы для шестнадцатеричных и двоичных чисел сделаны не чувствительными к регистру, так как они содержат букву:
Сопоставить число с плавающей точкой в обычной нотации несколько сложнее. Последовательности цифр по обе стороны десятичной точки необязательны, но хотя бы одна цифра должна быть:
Образец для чисел, записанных в научной нотации, основан на предыдущем:
Эти образцы могут оказаться полезны, если вы хотите убедиться, что строка содержит число, перед тем как пытаться преобразовать ее.
3.14.5 Сопоставление с датой и временем
Пусть надо выделить дату и время, записанные в формате
Но такой образец распознает
Вот как можно вызвать это регулярное выражение из метода
Разумеется, все это можно было сделать с помощью одного большого регулярного выражения:
Обратите внимание на конструкцию
3.14.6. Обнаружение повторяющихся слов в тексте
В этом разделе мы реализуем детектор повторяющихся слов. Повторение одного и того же слова два раза подряд — типичная опечатка. Следующий код распознает такие ситуации:
Обратите внимание на модификатор
Дневники
Проза:
русская классическая проза
рейтинг книги
Кодекс Охотника. Книга ХХ
20. Кодекс Охотника
Фантастика:
попаданцы
альтернативная история
аниме
рейтинг книги
Мадонна миндаля
Любовные романы:
исторические любовные романы
рейтинг книги
Буревестник. Трилогия
Фантастика:
боевая фантастика
рейтинг книги
След Вечности
Фантастика:
научная фантастика
рейтинг книги
1115 вопросов священнику
Религия и эзотерика:
православие
христианство
религия
прочая религиозная литература
рейтинг книги
Тени в переулке (сборник)
Документальная литература:
биографии и мемуары
публицистика
рейтинг книги
Свирепая справедливость
Приключения:
прочие приключения
рейтинг книги