Книга: Программирование на языке Ruby
3.13.3. Некоторые новые возможности Oniguruma
3.13.3. Некоторые новые возможности Oniguruma
Oniguruma добавляет много новых возможностей к механизму работы с регулярными выражениями в Ruby. Из самых простых отметим дополнительную управляющую последовательность для указания класса символов. Если d
и D
соответствуют десятичным цифрам и не цифрам, то h
и H
являются аналогами для шестнадцатеричных цифр:
"abc" =~ /h+/ #0
"DEF" =~ /h+/ # 0
"abc" =~ /Н+/ # nil
Добавилось возможностей у классов символов в квадратных скобках. Для организации вложенных классов можно применять оператор &&
. Вот как можно записать регулярное выражение, соответствующее любой букве, кроме гласных а, е, i, о, u:
reg1 = /[a-z&&[^aeiou]]/ # Задает пересечение.
А следующее выражение соответствует всему алфавиту, кроме букв от m до p:
reg2 = /[a-z&&[^m-р]]/
Поскольку такие выражения выглядят не очень понятно, рекомендую пользоваться этим средством осмотрительно.
Другие возможности Oniguruma, например оглядывание назад и именованные соответствия, будут рассмотрены ниже. Все связанное с интернационализацией отложим до главы 4.
- 3.13. Ruby и Oniguruma
- 3.13.1. Проверка наличия Oniguruma
- 3.13.2. Сборка Oniguruma
- НЕКОТОРЫЕ СОГЛАШЕНИЯ
- Глава 17 Другие возможности
- 2.3. Неценовые методы стимулирования
- HR-брендинг: Работа с поколением Y, новые инструменты для коммуникации, развитие корпоративной культуры и еще 9 эффектив...
- Расширенные возможности указания пользовательских планов
- Возможности, планируемые к реализации в следующих версиях
- Новые ключевые слова
- Новые функции API для работы с Blob и массивами
- Возможности SSH