3.14.2. Сопоставление с парой «ключ-значение»

3.14.2. Сопоставление с парой «ключ-значение»

Иногда приходится работать со строками вида «ключ=значение» (например, при разборе конфигурационного файла приложения).

Следующий код извлекает ключ и значение. Предполагается, что ключ состоит из одного слова, значение продолжается до конца строки, а знак равенства может быть окружен пробелами:

pat = /(w+)s*=s*(.*?)$/

str = "color = blue"

matches = pat.match(str)

puts matches[1] # "color"

puts matches[2] # "blue"

Данный текст является ознакомительным фрагментом.



Поделитесь на страничке

Похожие главы из других книг:

Сопоставление с UNIX и библиотекой С

Из книги автора

Сопоставление с UNIX и библиотекой С По ходу изложения материала мы сопоставляем стилевые и функциональные особенности средств Windows и аналогичных им средств, входящих в UNIX (Linux) и стандартную библиотеку ANSI С. Как уже отмечалось, в приложении Б приведены таблицы, содержащие


Глава 23 Сопоставление строк

Из книги автора

Глава 23 Сопоставление строк Осуществлять сравнение строк можно не только с помощью функции strcmp() или даже strncmp(). Linux предлагает несколько общих функций сопоставления строк, использование которых позволяет упростить решение задач программирования. Мы рассмотрим сначала


3.2. Сопоставление образцов

Из книги автора

3.2. Сопоставление образцов При замене одного фрейма другим не имеет смысла начинать весь процесс согласования заново. Но каким образом можно сохранить то, что было уже ранее установлено? Будем рассматривать лишь тот случай, когда при отсутствии специальных знаний


R.13.1 Сопоставление описаний

Из книги автора

R.13.1 Сопоставление описаний Два описания функций с одинаковыми именами относятся к одной и той же функции, если они находятся в одной области видимости и имеют идентичные типы параметров (§R.13). Функция-член производного класса относится к иной области видимости, чем


R.13.2 Сопоставление параметров

Из книги автора

R.13.2 Сопоставление параметров При вызове функции с данным именем происходит выбор из всех функций с этим именем, которые находятся в текущей области видимости, и для которых существуют преобразования типа, делающие вызов возможным. Выбирается та функция, которая


3.14.1. Сопоставление с IP-адресом

Из книги автора

3.14.1. Сопоставление с IP-адресом Пусть мы хотим понять, содержит ли строка допустимый IPv4-адрес. Стандартно он записывается в точечно-десятичной нотации, то есть в виде четырех десятичных чисел, разделенных точками, причем каждое число должно находиться в диапазоне от 0 до


3.14.4 Сопоставление с числовыми константами

Из книги автора

3.14.4 Сопоставление с числовыми константами Сопоставление с простым целым десятичным числом — самое простое. Число состоит из необязательного знака и последовательности цифр (правда, Ruby позволяет использовать знак подчеркивания в качестве разделителя цифр). Отметим, что


3.14.5 Сопоставление с датой и временем

Из книги автора

3.14.5 Сопоставление с датой и временем Пусть надо выделить дату и время, записанные в формате mm/dd/yy hh:mm:ss. Вот первая попытка: datetime = /(dd)/(dd)/(dd) (dd): (dd): (dd)/.Но такой образец распознает некоторые некорректные даты и отвергает правильные. Следующий вариант более избирателен.


3.14.8. Сопоставление с номером версии

Из книги автора

3.14.8. Сопоставление с номером версии Принято присваивать библиотекам и приложениям номера версий, состоящие из трёх чисел, разделенных точками. Следующее регулярное выражение сопоставляется с подобной строкой, выделяя попутно имя пакета и отдельные части номера


8.2.3. Доступ к парам ключ-значение и добавление новых пар

Из книги автора

8.2.3. Доступ к парам ключ-значение и добавление новых пар В классе Hash есть методы класса [] и []=. Используются они почти так же, как одноименные методы в классе Array, но принимают лишь один параметр. В качестве параметра может выступать любой объект, а не только строка (хотя


8.2.4. Удаление пар ключ-значение

Из книги автора

8.2.4. Удаление пар ключ-значение Удалить пары ключ-значение из хэша можно с помощью методов clear, delete, delete_if, reject, reject! и shift.Метод clear удаляет из хэша все пары. Эффект такой же, как от присваивания переменной нового пустого хэша, но работает чуть быстрее.Метод shift удаляет


8.2.9. Выборка пар ключ-значение по заданному критерию

Из книги автора

8.2.9. Выборка пар ключ-значение по заданному критерию К классу Hash подмешан модуль Enumerable, поэтому можно обращаться к методам detect (find), select (find_all), grep, min, max и reject (как и для массивов).Метод detect (синоним find) находит одну пару ключ-значение. Он принимает блок (которому передается по


8.2.2. Сопоставление объявлений в разных файлах

Из книги автора

8.2.2. Сопоставление объявлений в разных файлах Одна из проблем, вытекающих из возможности объявлять объект или функцию в разных файлах, – вероятность несоответствия объявлений или их расхождения в связи с модификацией программы. В С++ имеются средства, помогающие