Andreas: bekomme preg_replace nicht gebacken

Beitrag lesen

Hallo,
habe mit preg_replace totale Verständnisprobleme wie Suchmuster und Ersetzung aufgebaut werden muss.
Ein Beispiel von php.de:

<?php
$zeichenkette = "15. April 2003";
$suchmuster = "/(\d+). (\w+) (\d+)/i";
$ersetzung = "${2}1,$3";
echo preg_replace($suchmuster, $ersetzung, $zeichenkette);
?>
Ergebnis: April1,2003

Aber wie funktioniert das? Was ist (\d+) oder (\w+)?
Warum der Backslash?
Wieso ist beim Suchmusterstring zuerst ein Slash?
Wie ist "${2}1,$3" zu interpretieren?

Gruß Andreas