Так что я этот текстовый файл с именем righthops.txt, который содержит кучу строк, которые все похожи:Python Pattern Matching с Regex
12 engrish.net (216.70.106.32) 19.491 ms 22.252 ms 22.147 ms
12 engrish.net (216.70.106.32) 15.214 ms 19.502 ms 37.143 ms
12 engrish.net (216.70.106.32) 15.832 ms 15.804 ms 15.738 ms
Так что я этот код, который открывает текстовый файл и считывает его в Затем я пытаюсь использовать команду findall команды regex для извлечения только последней временной задержки в каждой строке (22.147, 37.143, 15.738). Я не хотел слишком усложняться, поэтому планировал выполнить совпадение с шаблоном, чтобы получить последние два временных задержек в каждой строке, и позже я мог бы использовать цикл for, чтобы взять все остальные элементы в списке в новый список с только последними задержками времени.
Чтобы сделать это, я попытался сделать шаблон в виде любых цифр, следующих за «мс», которые теоретически будут принимать за последние два временных задержек в каждой строке, но по какой-то причине мой код (показано ниже) не принимает во всем. Любая помощь будет принята с благодарностью!
hops = open('righthops.txt')
righthops = hops.read()
alldelays = re.findall(r'ms (\d+\.\d+)', righthops)
Похоже между столбцами больше одного места. – Biffen
Почему бы вам просто не перебирать строку в строке, а совпадать с '\ d + \. \ D + (? = \ S * ms \ s * $)' и делать с ней все, что вам нравится? –