... > Ruby > Регулярные выражения в...

Регулярные выражения в Ruby

НАВИГАЦИЯ ПО СТРАНИЦЕ

Создание регулярного выражения Простые символы Специальные символы Классы символов Инвертированные классы Квантификаторы Группировка Спецсимволы Методы работы

Регулярные выражения представляют собой мощный инструмент для работы с текстовой информацией. В Ruby, регулярные выражения реализованы как объекты класса Regexp.

Создание регулярного выражения

Регулярные выражения в Ruby можно создавать с использованием литерала /pattern/ или конструктора Regexp. new.

# Литерал регулярного выражения
pattern = /hello/

# Конструктор регулярного выражения
pattern = Regexp.new("hello")

Простые символы

Простые символы в регулярных выражениях соответствуют сами себе. Например, регулярное выражение /hello/ найдет строку, содержащую "hello".

Специальные символы

Регулярные выражения могут включать специальные символы, такие как ^, $, ., *, +, ?, и другие. Например, /^start/ найдет строки, начинающиеся с "start", а /end$/ найдет строки, заканчивающиеся на "end".

Классы символов

Классы символов в регулярных выражениях позволяют указывать диапазоны символов. Например, [a-z] соответствует любой строчной букве, а [0-9] — любой цифре.

pattern = /[0-9]+/

Инвертированные классы символов

Инвертированные классы символов начинаются с ^ и соответствуют любому символу, кроме тех, которые перечислены в классе. Например, [^aeiou] соответствует любому символу, кроме гласных.

Квантификаторы

Квантификаторы определяют количество повторений символов. Например, “*” соответствует 0 или более повторениям, а “+” — 1 или более повторениям.

pattern = /\d+/  # Соответствует одной или более цифр

Группировка

Группировка в регулярных выражениях позволяет объединять части выражения и применять к ним квантификаторы. Группирующие скобки обозначаются ( и ).

pattern = /(\d+)-(\d+)/

Спецсимволы

Регулярные выражения также поддерживают спецсимволы, такие как \n (новая строка), \t (табуляция), \s (пробел), \w (буквы, цифры, подчеркивание), и другие.

Методы работы с регулярными выражениями

Ruby предоставляет множество методов для работы с регулярными выражениями, таких как match, scan, sub, gsub и другие. Давайте рассмотрим пример использования метода match.

pattern = /\d+/
text = "123 Ruby"
match_data = pattern.match(text)

puts match_data[0]  # Вывод: 123

Регулярные выражения в Ruby предоставляют мощный инструмент для работы с текстовой информацией. Они позволяют выражать сложные шаблоны, их использование совместно с методами работы со строками делает возможным эффективный анализ и обработку текстовых данных.