У меня есть друг, который заканчивает степень магистра в области аэрокосмической техники. Для его окончательного проекта он находится в небольшой команде, которой поручено написать программу для отслеживания воздушных шаров, ракет и спутников. Программа получает данные от устройства GPS, выполняет расчеты с данными и использует результаты этих вычислений для управления серией двигателей, предназначенных для ориентации направленной антенны связи, поэтому баллон, ракета или спутник всегда остаются в фокусе.
Хотя я и сам (вечный) начинающий, у меня больше опыта программирования, чем у моего друга. Поэтому, когда он попросил меня дать совет, я убедил его написать программу на Python, мой язык выбора.
В этот момент в проекте мы работаем над кодом, который анализирует вход с устройства GPS. Вот пример ввода, с данными, которые нам нужно выделить жирным шрифтом:
$GPRMC, 092204.999, 4250.5589, S 14718.5084, Е, 1,12,24.4, 89.6, М,, 0000 * 1F $ GPRMC, 093345.679, 4234.7899, N, 11344.2567, W, 3,02,24.5, 1000,23, М,, 0000 * 1F $ GPRMC, 044584.936, 1276.5539, N, 88734.1543, E, 2,04,33.5, 600,323, M,, * 00 $ GPRMC, 199304.973, 3248.7780, N, 11355.7832, W, 1,06,02.2, 25722,5, M,, * 00 $ GPRMC, 066487.954, 4572.0089, S 45572.3345, W, 3,09,15.0, 35000.00, М,, * 1F
Вот еще одно объяснение данных:
"Похоже, мне понадобятся пять вещей из каждой строки. И иметь в виду что любая из этих областей может быть пустой. Значит, будет только два запятые рядом друг с другом. такие как ',,' Есть два поля, которые могут быть полным в любое время. Некоторые из них имеют два или три варианта, которые они может быть, но я не думаю, что я должен быть рассчитывая на это".
Два дня назад мой друг смог получить полный журнал с GPS-приемника, используемого для отслеживания недавнего запуска воздушного шара. Данные довольно длинные, поэтому я положил все это в этот pastebin.
Я все еще довольно привык к регулярным выражениям, поэтому я ищу некоторую помощь.