Я пытаюсь проанализировать вывод около ста строк.Формат этого вывода такой:
<random text> STATION "STATION_NAME_ONE": <random text>
<random text> IP Address: 0.0.0.0 <random text>
<SEVERAL LINES OF RANDOM TEXT>
<random text> STATION "STATION_NAME_TWO": <random text>
<random text> IP Address: 1.1.1.1 <random text>
<SEVERAL LINES OF RANDOM TEXT>
... and so on
Я знаю IP-адрес станции, которую я ищу.Используя IP-адрес, я пытаюсь создать регулярное выражение, которое найдет название станции.Название станции может быть любой длины и может содержать любое количество цифр / букв / подчеркиваний.Название станции всегда будет предшествовать STATION и всегда будет сопровождаться двоеточием.IP-адрес всегда будет находиться в строке, следующей за названием станции, и перед ним всегда будет стоять IP-адрес:.
Обратите внимание, что есть несколько станций с разными названиями станций и IP-адресами.«Случайный текст» может быть любой длины и содержать любой символ / число / букву.
До сих пор мои попытки были:
re.search('(?<=STATION ).*?(?=:.*IP Address: %s)' % sta_ip, output, re.DOTALL)
, но, очевидно, это вернет в значительной степени первоеназвание станции каждый раз.
Как бы вы создали регулярное выражение для поиска по названию станции?Это возможно?