¿Cómo combino varias coincidencias (/ g) con referencias inversas en javascript regex match?

Estoy confundido acerca de la matriz devuelta por una coincidencia de expresiones regulares cuando uso ambos / g (para obtener múltiples coincidencias) y paréntesis (para obtener referencias de vuelta). No tengo claro cómo obtener las referencias inversas porque el subíndice de la matriz de coincidencias parece referirse a las múltiples coincidencias, no a las referencias anteriores.

por ejemplo:

string = "@abc @bcd @cde";    
re2 = '@([a-z]+)';    
p = new RegExp(re2,["g"]);    
m = string.match(p)   
for (var i in m) { alert(m[i]; }

esto está volviendo"@abc", "@bcd", "@cde"
pero quiero que vuelva"abc", "bcd", "cde"

¿Cómo consigo este último?

Respuestas a la pregunta(2)

Su respuesta a la pregunta