Есть текст
[0] Машина прибыла в течение 6 сек., расстояние 2.149 км
[1] Машина прибыла в течение 35 сек., расстояние 149 м
[2] Машина прибыла в течение 2:58 мин., расстояние 764 м
Для меня важно отловить машины, которые прибыли недавно (значит мне нужно брать секунды), их номер в листе заказов и расстояние до них.
Я написал что-то такое: \[(\d+)\].+сек.+(\d?\.?\d+) к?м
Но на выходе я получил такие данные:
-> 0, 9
-> 1, 9
Но я желаю получить:
-> 0, 2.149
-> 1, 149
Он берёт только последнюю цифру, так как это тоже удовлетворяет условию, но мне нужно что бы он брал всё число, какие варианты решения могут быть?
Пожалуйста не предлагайте решения в стиле: \[(\d+)\].+сек.+расстояние (\d?\.?\d+) к?м
так как там может быть вовсе и не расстояние, а разные слова, например даже такое чудо:
[2] Машина прибыла в С?РёЅС‹ 23 сек., СЃС?иренный РїРѕРёСЃРє 764 м
.+ - жадный поиск, хватает всё, что может. А чтобы выражение подошло, допустимо захватить всё, кроме последней цифры.
Так что самое простое решение - сделать этот захват ленивым.
подскажите что нет так? под луа вообще не хочет работать
%[([0-9]+)%].+сек.+?([0-9]?%.?[0-9]+) к?м
Может так что то не так с вопросительными, а процент там вместо \