Here's what I want to happen

```
> /x(y\d)*/.somefunction('xy1y2y3').each { |x| puts x }
y1
y2
y3

```

This seems like a pretty natural use of the asterisk in a regexp. I've matched a bunch of tokens and I want them printed out.

The closest I've been able to find is:

```
/x((y\d)*)/.match('xy1y2y3')[1].scan(/y\d/).each { |x| puts x }

```

Which is just abysmal.