Su tutte. $matches[0] si riferisce alla corrispondenza del pattern completo.
($matches[1],$matches[2],..$matches[n] fanno invece riferimento al primo, secondo,..n-esimo sotto-pattern, ovvero porzioni dell'espressione regolare racchiuse tra due parentesi tonde)

E' come se fosse un preg_replace, in cui ad ogni occorrenza di un pattern sostituisci ad esempio un testo. Qui ogni occorrenza viene sostituita con l'esecuzione della funzione.