\w+ ist ein Wortzeichen, also alle Zeichen, die zu Worten gehören. Das Leerzeichen hinter April gehört schon nicht nehr dazu, weil Leerzeichen Worte brechen.
und bei der Ersetzung steht ${2}. Ist sie eigentlich die letzte Zweie Ziffer 0 und 3 .
Bei der Ersetzung steht deshalb '${2}1, weil es eigentlich '$2' für die Referenz heißen soll, die aber sich nicht von '$21' unterscheiden würde. Die '1,' sind dann nur ganz normale Zeichen. Sie sind nicht in der Liste der Sonderbedeutungen enthalten. '$3' ist dann wieder ganz klar als Referenz erkennbar.
Aber Du kannst Dir über eines sicher sein: der arme Prozessor hat genauso zu schuften, diese Kryptologie wieder zu entschlüsseln, wie Du Mühe hast, sie zu erstellen :-)
Liebe Grüße aus Syburg bei Dortmund
<?php
$zeichenkette = '15. April 2003';
$suchmuster = '/(\d+). (\w+) (\d+)/i';
$ersetzung = '${2}1,$3';
echo preg_replace($suchmuster, $ersetzung, $zeichenkette);
?>
Also zusammenfassung :
(\d+) = 15 : Referenz 1
. = . : keine Referenz, weil keine runde Klammer gibt
(\w+) = April : Referenz 2
(\d+) = 2003 : Referenz 3
$ersetzung = April1,2003
Wunderbar :). Vielen Dank für die Info,
Bei der Ersetzung steht deshalb '${2}1, weil es eigentlich '$2' für die Referenz heißen soll.
Das war hier verwirrend. weil die Geschweifte bedeuten für mich eine Anzahl von einem vorkommenden Zeichen oder Buchstabe. und nicht als ein Referenz. Danke für die Erklärung.
Aber Du kannst Dir über eines sicher sein: der arme Prozessor hat genauso zu schuften, diese Kryptologie wieder zu entschlüsseln, wie Du Mühe hast, sie zu erstellen :-)
hier hast Du vollkommen recht :)
Grüße aus Frankfurt