我目前正在尝试将一个字符串重新表达为多个变量。示例字符串:
ryan_string = "RyanOnRails: This is a test"
我已经将此正则表达式与3组匹配:
ryan_group = ryan_string.scan(/(^.*)(:)(.*)/i)
现在要访问每个组,我必须执行以下操作:
ryan_group[0][0] (first group) RyanOnRails
ryan_group[0][1] (second group) :
ryan_group[0][2] (third group) This is a test
这似乎很荒谬,而且感觉好像我做错了什么。我希望能够做这样的事情:
g1, g2, g3 = ryan_string.scan(/(^.*)(:)(.*)/i)
这可能吗?还是有比我更好的方法呢?
one, two, three = string.match(/(^.*)(:)(.*)/i).captures
为:one, two, three = string.match(/(^.*)(:)(.*)/i).try(:captures)