Given the following regex to parse telephone numbers:

/^(\(?(?<area>[0-9]{3})\)?)?(\-| )?(?<exch>[0-9]{3})(\-|
)?(?<party>[0-9]{4})/

Is there a regex.method to access the parse data by group name?  I was
hoping something like the following behavior:

rx = /^(\(?(?<area>[0-9]{3})\)?)?(\-| )?(?<exch>[0-9]{3})(\-|
)?(?<party>[0-9]{4})/
md = rx.match('800 325-3535')
puts md['area']+md['exch']+md['party']

I'm not that skilled with regex (yet), so I don't know if I could
extend the regex class with my own method.  I'm not sure what all data
is available to me after parsing.

dvn