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, хорошо подходит для тестирования шаблонов.