Использование регулярных выражений

Ruby:
Использование регулярных выражений

Как это сделать:

Давайте рассмотрим некоторые основы регулярных выражений в Ruby.

# Поиск совпадения
phrase = "Привет, мир!"
puts phrase.match(/мир/) # Вывод: мир

# Замена
puts phrase.gsub(/мир/, "Ruby") # Вывод: Привет, Ruby!

# Извлечение совпадений
email = "[email protected]"
puts email.match(/\A[^@\s]+@([^@\s]+\.)+[^@\s]+\z/).to_s # Вывод: [email protected]

# Итерация по совпадениям
"Фродо, Гэндальф, Арвен".scan(/\w+/) { |name| puts name }
# Вывод:
# Фродо
# Гэндальф
# Арвен

Погружение в тему

Регулярные выражения в Ruby были повлияны мощными возможностями регулярных выражений в Perl. Альтернативы регулярным выражениям включают методы строк, такие как #include?, #start_with? и #end_with?, но ни один из них не предлагает такой же мощности и гибкости. Ruby реализует регулярные выражения с использованием собственной библиотеки, которая произошла от движка регулярных выражений Perl, предоставляя такие возможности, как просмотр вперёд и назад, нежадные совпадения и сокращения для классов символов.

Смотрите также

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