RegEX Problem
bearbeitet von ursus contionabundo~~~
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
<?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.
RegEX Problem
bearbeitet von ursus contionabundo~~~
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.
Mit:
~~~php
<?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.
RegEX Problem
bearbeitet von ursus contionabundo~~~
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: `[](){}|?+-*^$\.`
Mit:
~~~php
<?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.