fork(1) download
  1. <?php
  2.  
  3. $re = "/(?=\\d{2}\\s+[A-Z][a-z]{2}\\s+\\w{2})(.+?)(?:(?=\\d{2}\\s+[A-Z][a-z]{2}\\s+\\w{2})|$)/s";
  4. $str = "31 Jul FR 0135 HKG MEL 33K 18:00 19:44 01 Aug SA\n06:40 07:10 11:10 02 Aug SU 0134 MEL HKG 33K 06:40 07:37 15:21 15:51 11:11 03 Aug MO G 04 Aug TU 0905 HKG MNL 330 20:50 22:52 05 Aug WE 00:58\n0912 MNL HKG 330 08:32 10:36 11:06 14:16 06 Aug TH T2024\nP2 19:00 19:00 07 Aug FR 00:30 00:30 05:30\nT2314 2R 22:00 22:00 08 Aug SA 06:00 06:00 08:00 09 Aug SU G 10 Aug MO G 11 Aug TU R13 06:00 06:00 06:06 06:06 00:06 0699 HKG BOM\n33G 16:20 17:53 21:07 21:37 07:47 12 Aug WE 13 Aug TH RPT 00:00 00:00 02:45 02:45 02:45 14 Aug FR 0660 BOM HKG 33G 03:05 04:15 12:48 13:18 07:43 15 Aug SA R13\n06:00 06:00 11:23 11:23 05:23 T1514 CW 14:00 14:00 19:30 19:30 05:30 16 Aug SU 0494 HKG TPE 33G 10:30 12:16 14:08\n0495 TPE HKG 33G 14:59 16:43 17:13 06:43 17 Aug MO O\n18 Aug TU G 19 Aug WE 0697 HKG DEL 33G 19:05 21:27 20 Aug TH 00:28 00:58 08:23 21 Aug FR 0694 DEL HKG 33K 01:30 02:30 10:45 11:15 07:15 MED HC\n22 Aug SA G 23 Aug SU G 24 Aug MO G 25 Aug TU 0767 HKG SGN 33E 07:30 08:40 10:15 0766 SGN HKG 33E 11:20 15:10 15:40 08:10 26 Aug WE G\n27 Aug TH G 28 Aug FR 0699 HKG BOM 33G 16:20 17:30 21:20 21:50 08:00 29 Aug SA 0696 BOM HKG 33G 21:30 22:30 30 Aug SU 07:00 07:30 07:30 31 Aug MO 0564 HKG TPE 330 12:00 13:10 14:55 0564 TPE KIX 330\n16:05 20:00 20:30 07:30";
  5.  
  6. preg_match_all($re, $str, $matches);
  7. print_r($matches[0]);
Success #stdin #stdout 0.03s 52480KB
stdin
Standard input is empty
stdout
Array
(
    [0] => 31 Jul FR 0135 HKG MEL 33K 18:00 19:44 
    [1] => 01 Aug SA
06:40 07:10 11:10 
    [2] => 02 Aug SU 0134 MEL HKG 33K 06:40 07:37 15:21 15:51 11:11 
    [3] => 03 Aug MO G 
    [4] => 04 Aug TU 0905 HKG MNL 330 20:50 22:52 
    [5] => 05 Aug WE 00:58
0912 MNL HKG 330 08:32 10:36 11:06 14:16 
    [6] => 06 Aug TH T2024
P2 19:00 19:00 
    [7] => 07 Aug FR 00:30 00:30 05:30
T2314 2R 22:00 22:00 
    [8] => 08 Aug SA 06:00 06:00 08:00 
    [9] => 09 Aug SU G 
    [10] => 10 Aug MO G 
    [11] => 11 Aug TU R13 06:00 06:00 06:06 06:06 00:06 0699 HKG BOM
33G 16:20 17:53 21:07 21:37 07:47 
    [12] => 12 Aug WE 
    [13] => 13 Aug TH RPT 00:00 00:00 02:45 02:45 02:45 
    [14] => 14 Aug FR 0660 BOM HKG 33G 03:05 04:15 12:48 13:18 07:43 
    [15] => 15 Aug SA R13
06:00 06:00 11:23 11:23 05:23 T1514 CW 14:00 14:00 19:30 19:30 05:30 
    [16] => 16 Aug SU 0494 HKG TPE 33G 10:30 12:16 14:08
0495 TPE HKG 33G 14:59 16:43 17:13 06:43 
    [17] => 17 Aug MO O

    [18] => 18 Aug TU G 
    [19] => 19 Aug WE 0697 HKG DEL 33G 19:05 21:27 
    [20] => 20 Aug TH 00:28 00:58 08:23 
    [21] => 21 Aug FR 0694 DEL HKG 33K 01:30 02:30 10:45 11:15 07:15 MED HC

    [22] => 22 Aug SA G 
    [23] => 23 Aug SU G 
    [24] => 24 Aug MO G 
    [25] => 25 Aug TU 0767 HKG SGN 33E 07:30 08:40 10:15 0766 SGN HKG 33E 11:20 15:10 15:40 08:10 
    [26] => 26 Aug WE G

    [27] => 27 Aug TH G 
    [28] => 28 Aug FR 0699 HKG BOM 33G 16:20 17:30 21:20 21:50 08:00 
    [29] => 29 Aug SA 0696 BOM HKG 33G 21:30 22:30 
    [30] => 30 Aug SU 07:00 07:30 07:30 
    [31] => 31 Aug MO 0564 HKG TPE 330 12:00 13:10 14:55 0564 TPE KIX 330
16:05 20:00 20:30 07:30
)