ruby regexp不止一次找到模式

Bot*_*oti 1 ruby regex string

value = "Men - $30, Women - $20"
# value = "Men - 0"
# value = "free"
data = /\$(\d*)/.match value
Run Code Online (Sandbox Code Playgroud)

目前:

data.to_a
 => ["$30", "30"] 
Run Code Online (Sandbox Code Playgroud)

我想要:

data.to_a
 => ["$30", "30", "$20", "20] 
Run Code Online (Sandbox Code Playgroud)

如何实现这一目标

fal*_*tru 6

运用 String#scan

value = "Men - $30, Women - $20"

value.scan(/(\$(\d+))/)
# => [["$30", "30"], ["$20", "20"]]

value.scan(/(\$(\d+))/).flatten
# => ["$30", "30", "$20", "20"]
Run Code Online (Sandbox Code Playgroud)