Witam serdecznie,
zawsze mam problemy z wyrażeniami regularnymi i tym razem niestety ale musze prosić Was o pomoc przy napisaniu krótkiego wyrażenia (pewnie banalnie prosteg) ale dla mojego zakutego łba coś mi zaden pomysł nie przychodzi jak sobie z tym poradzić.

Mam taki plik tekstowy:


ACSS00001030512
HFFXA050
HFDTE030512
HFPLTPILOT:Jan Kowalski
HFGTYGLIDERTYPE:Discus2
HFGIDGLIDERID:SP-4065
HFDTM100DATUM:WGS-1984
HFGPSGPS:CCSS_SOFTWARE_GPS
HFFTYFRTYPE:CCSS
HFRFWFIRMWAREVERSION:1.0
HFRHWHARDWAREVERSION:0.0
HFCIDCOMPETITIONID:5W
HFCCLCOMPETITIONCLASS:Standard



móje wyrażenie wygląda tak:
  1. $pattern = '/HFPLTPILOT:(?<name>.*)\n'; // Pilot full name
  2. $pattern .= 'HFGTYGLIDERTYPE:(?<glider>.*)\n'; // Glider type
  3. $pattern .= 'HFGIDGLIDERID:(?<gliderid>.*)\n'; // Glider ID
  4. $pattern .= 'HFGIDGLIDERID:(?<cn>.*)\n'; // Competition numbers
  5. $pattern .= '/';
  6.  
  7. preg_match($pattern, $string, $data);


I nie wiem co robię źle, wszystko jest OK jak usunę ostatnie dopasowanie, jak je dodam - zwraca mi pustą tablicę.
Widzę jedno, że potrzebuję po prostu ominąć więcej niż jedną linijkę tekstu po danej "Glider ID" ale nie mam pojęcia jak to napisać w regex.


Jest szansa aby ktoś pomógł mi w tym problemie ?
Dzięki wielkie.