preg_match_all("/[0-9]{2}.[0-9]{2}.[0-9]{2}\ [0-9]{2}:[0-9]{2}:[0-9]{2}^([0-9]{2}.[0-9]{2}.[0-9]{2}\ [0-9]{2}:[0-9]{2}:[0-9]{2})*/s",$transactions,$match);
Auf den ersten Blick:
[0-9]{2}.[0-9]{2}.[0-9]{2}
Matcht zwar auf "20.11.18" aber auch auf "20A11b18".
\
- Was soll das? Das Leerzeichen hat im Gegensatz zum Punkt keine Sonderbedeutung. Metazeichen sind: [](){}|?+-*^$\.
Auch der Stern in der Nähe des Endes wirkt sehr deplaziert. Das Dach-Symbol in der Mitte (^
) sollte wohl ein Pipe (|
) sein und statt dessen ein solches am Anfang stehen.
Mit:
<?php
$txt='20.11.18 10:26:12 Datei zur Bank uebertragen
Hostname : MULTIVIA
Auftrag : Einreichen von Lastschriften CDD N04E
Teilnehmer : XXX
Ergebnis : Uebertragung in Ordnung [01]
Datenuebertragung verschluesselt [04]
Datenuebertragung komprimiert [05]
20.11.18 10:26:13 Unterschriftspruefung [21]
Hostname : MULTIVIA
Auftrag : Einreichen von Lastschriften CDD N04E
Teilnehmer : XXX
Ergebnis : Unterschrift(en) in Ordnung [24]
Dateiname :
====================================================================
L A S T S C H R I F T E N
Datei-ID : MSG5bf3d3332ebbd4.39934837
Datum/Zeit : 20.11.2018/10:26:11+01:00
--------------------------------------------------------------------
Sammlerreferenz : PAYMENT5bf3d3332ec0b8.04263918
Bank-Code : XXX
Kontonummer : DEXXX
Auftraggeberdaten : XXX
Anzahl der Zahlungssaetze: 1
Summe der Betraege (EUR) : 72,42
Faelligkeitsdatum : 22.11.2018
====================================================================';
preg_match_all("/^[0-9]{2}\.[0-9]{2}\.[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}\s|[0-9]{2}\.[0-9]{2}\.[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}\s/",$txt,$match);
print_r($match);
$txt='20.11.18 10:55:19 Datei zur Bank uebertragen
Hostname : MULTIVIA
Auftrag : Einreichen von Lastschriften CDD N04F
Teilnehmer : XXX
Ergebnis : Uebertragung in Ordnung [01]
Datenuebertragung verschluesselt [04]
Datenuebertragung komprimiert [05]
20.11.18 10:55:19 Unterschriftspruefung [21]
Hostname : MULTIVIA
Auftrag : Einreichen von Lastschriften CDD N04F
Teilnehmer : XXX
Ergebnis : Datei ist in ihrem Aufbau fehlerhaft [54]';
preg_match_all("/^[0-9]{2}\.[0-9]{2}\.[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}\s|[0-9]{2}\.[0-9]{2}\.[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}\s/",$txt,$match);
print_r($match);
erhalte ich also:
Array
(
[0] => Array
(
[0] => 20.11.18 10:26:12
[1] => 20.11.18 10:26:13
)
)
Array
(
[0] => Array
(
[0] => 20.11.18 10:55:19
[1] => 20.11.18 10:55:19
)
)
Allerdings weiß ich nicht ganz genau, ob das das ist, was Du willst, denn
preg_match_all("/[0-9]{2}\.[0-9]{2}\.[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}\s/",$txt,$match);
führt in beiden Fällen zu dem selben Ergebnis.