У меня есть следующая строка
'passenger (2.2.5, 2.0.6)'.match(//)[0]
что, очевидно, еще ничего не соответствует
Я хочу вернуть только содержимое (2.2.5,, чтобы все было после открытых скобок и до запятой.
(2.2.5,
Как бы я это сделал?
Beanish решение не работает на более чем 2 номерах версий, вы должны использовать что-то вроде:
>> 'passenger (2.2.5, 2.0.6, 1.8.6)'.match(/\((.*?),/)[1] # => "2.2.5"
#!/usr/bin/env ruby s = 'passenger (2.2.5, 2.0.6)' p s.scan(/(?:\(|, *)([^,)]*)/).flatten # => ["2.2.5", "2.0.6"]
'passenger (2.2.5, 2.0.6)'.match(/\((.*),/)[1]
если вы используете элемент $ 1, это группа, которая находится внутри ()