红宝石正则表达式分组

时间:2012-08-08 10:45:43

标签: ruby regex grouping

我在使用正则表达式从字符串中提取子字符串时遇到问题。

例如,我有一个像

这样的字符串
str = "result[cars][ford]"

现在我需要一个正则表达式,它可以从那个字符串中提取汽车和福特,以便

str.match({{regex}})[1]

会提供汽车和

str.match({{regex}})[2] 

会提供福特

现在我需要那个大括号内的正则表达式。

欢迎任何有助于此问题的链接。

1 个答案:

答案 0 :(得分:2)

实际上很简单。

s = "result[cars][ford]"
matches = s.scan(/\[(\w+)\]/).flatten # => ["cars", "ford"]

这是demo