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:
$pattern = '/HFPLTPILOT:(?<name>.*)\n'; // Pilot full name $pattern .= 'HFGTYGLIDERTYPE:(?<glider>.*)\n'; // Glider type $pattern .= 'HFGIDGLIDERID:(?<gliderid>.*)\n'; // Glider ID $pattern .= 'HFGIDGLIDERID:(?<cn>.*)\n'; // Competition numbers $pattern .= '/';
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.