Hi Dax,
wenn du einen String mit einer Regex-Split-Funktion teilst, dann ist es klar, dass die Trennzeichen nicht mit zurückgeliefert werden.
Ich hab jetzt zwar keine Erfahrungen mit RegEx-Klassen aus anderen Sprachen, in PHP gibt es jedoch eine Funktion, die da Abhilfe schaffen könnte:
preg_match_all().
Ich hab gerade mal ein bisschen rumprobiert und das ist dabei rausgekommen:
Code:
preg_match_all('/(?:([0-9])*?(:|#)?)*/', '1:2#3', $array);
Da kommt dann das bei PHP raus:
Code:
Array
(
[0] => Array
(
[0] =>
[1] => 1:
[2] =>
[3] => 2#
[4] =>
[5] => 3
[6] =>
)
[1] => Array
(
[0] =>
[1] => 1
[2] =>
[3] => 2
[4] =>
[5] => 3
[6] =>
)
[2] => Array
(
[0] =>
[1] => :
[2] =>
[3] => #
[4] =>
[5] =>
[6] =>
)
)
Das erste Unterarray ist zu vernachlässigen (siehe Manual), die anderen beiden enthalten genau die Werte, die du suchst. Ich bin sicher, dass andere Klassen das ein wenig praktischer ausgeben (wenn sie überhaupt solch eine Funktion kennen...).
Ich hoffe, das hilft dir weiter.