Autor Zpráva
machr
Profil *
Potřeboval bych pomocí preg_match získat všechna data z:
12345 1.0 0.0 68 0.7 98 1017.5 0.00 0.00 0.00 0.00 0.00 18.9 33 18.9 25 - - 0 0.00 - - - - - - 98 33 - 12 10 01 STOP-12:10 0 - 19 01 - - - - - - - 0.7 -1.4 1.2 -2.6 25 - 0 0.7 1.4 0.2 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.1 4.9 0.4 120 19/01/2012 9

potřebuju aby mi to v match vrátilo [1] - 12345 [2] - 1.0 [3] - 0.0 atd az po STOP a pak [x] - 19 [x+1] - 01 [x+2] - 2012
Momentálně používám takovýto regex
([0-9.-]*) ([0-9.-]*) ([0-9.-]*) ([0-9.-]*) ([0-9.-]*) ([0-9.-]*) ([0-9.-]*) ([0-9.-]*) ([0-9.-]*) ([0-9.-]*) ([0-9.-]*) ([0-9.-]*) ([0-9.-]*) ([0-9.-]*) ([0-9.-]*) ([0-9.-]*) ([0-9.-]*) ([0-9.-]*) ([0-9.-]*) ([0-9.-]*) ([0-9.-]*) ([0-9.-]*) ([0-9.-]*) ([0-9.-]*) ([0-9.-]*) ([0-9.-]*) ([0-9.-]*) ([0-9.-]*) ([0-9.-]*) ([0-9.-]*) ([0-9.-]*) ([0-9.-]*) (.[^\/]*) ([0-9]*)\/([0-9]*)\/([0-9]*) (.*)

Jde to udělat nějak úsporněji, než tam mít hromadu (.[0-9.-]*) ?
Camo
Profil
Rozdeľ si to na dva výrazy, lebo toto je fakt šialené...
A preg_match_all by ti mohol zjednodušiť ten regulár
machr
Profil *
Potřebuju to mít v jednom
abc
Profil
Nebude jednodušší použít 2x explode? 1x na STOP a 1x na mezeru?
Potom uz si ty pole jenom nějak "napojit"? Nenapadá mě sice jak, ale přijde mi to "úspornější"
Camo
Profil
To čo navrhol abc bude možno aj rýchlejšie a určite prehľadnejšie. Len by som to rozsekal na medzery.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: