Программирование на языке Ruby
Шрифт:
Символ каре (
Дефис внутри класса символов обозначает диапазон (в лексикографическом порядке):
Дефис в начале или в конце класса символов, а также каре в середине теряют специальный смысл и интерпретируются буквально. То же относится к левой квадратной скобке, но правая квадратная скобка, очевидно, должна экранироваться:
Регулярные выражения в Ruby могут содержать ссылки на именованные классы символов вида
Есть еще такие именованные классы:
Каре перед именем класса символов формирует его дополнение:
Для многих классов имеется также сокращенная нотация. Наиболее распространены сокращения
«Дополнительные» формы обычно записываются в виде прописной буквы:
Дополнительная информация, относящаяся только к Oniguruma, приводится в разделе 3.13.
3.9. Обобщенные регулярные выражения
Регулярные выражения, особенно длинные, часто выглядят загадочно. Модификатор
Чтобы привести несколько искусственный пример умеренно сложного регулярного выражения, предположим, что имеется такой список адресов:
Здесь каждый адрес состоит из трех частей: номер дома, название улицы и необязательный номер квартиры. Я предполагаю, что перед числом может быть необязательная строка
Вот какое регулярное выражение я составил для разбора адреса. Обратите внимание, насколько подробно оно прокомментировано (может быть, даже излишне подробно):
Идея понятна. Когда сложность регулярного выражения достигает некоего порога (какого именно — дело вкуса), делайте его обобщенным, чтобы можно было добавить форматирование и комментарии.
Цикл романов "Целитель". Компиляция. Книги 1-17
Целитель
Фантастика:
попаданцы
альтернативная история
рейтинг книги
Локки 6. Потомок бога
6. Локки
Фантастика:
аниме
фэнтези
рейтинг книги
Чужое наследие
3. Другая сторона
Фантастика:
боевая фантастика
рейтинг книги
Кодекс Охотника. Книга XXXIII
33. Кодекс Охотника
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
рейтинг книги
Русские горки. Конец Российского государства
Великие противостояния
Научно-образовательная:
история
политика
рейтинг книги