Подскажите, плиз, в чем может быть проблема, не проходит 4 тест, находит координату из 4 первых символов. Как решить?
Не могу решить задачу, код ниже:
Условие:
Напишите регулярное выражение, которое найдёт все пары координат в тексте: широту и долготу.
Что нужно найти:
Нужно найти все пары координат, подходящие по следующим условиям:
Координата:
Может быть отрицательной или положительной
В левой части может стоять от 1 до 3 арабских цифр включительно
В правой части количество цифр неограниченно
Левая и правая части разделены точкой
Координаты разделены пробелами
Т.е. нужно написать регулярное выражение, которое будет искать 2 координаты, разделённые пробелом.
Sample Input 1:
Песок. Ориентир - красная изолента. Прикоп 2-3см 16.874124 -24.984161
Sample Output 1:
16.874124 -24.984161
Sample Input 2:
Привет! Вчера, когда ездила к тебе в гости, потеряла тут 57.652420 39.862406 свой наушник. Можешь пожалуйста его поискать, может быть найдёшь?
Sample Output 2:
57.652420 39.862406
Sample Input 3:
0г0, я нашёл интересные места на картах: 54.468693951159835 64.79641683731889, 34.954139 -117.872506, 51.848611 -0.554439
Sample Output 3:
54.468693951159835 64.79641683731889 34.954139 -117.872506 51.848611 -0.554439
Sample Input 4:
3412.4129312 -31.48329424 .42342342
Sample Output 4:
regex = r'-?[0-9]{1,2}\.\d* -?[0-9]{1,2}\.\d*'
Failed test #3 of 4.
Твой ответ:
54.468693951159835 64.79641683731889 51.848611 -0.554439
Правильный ответ:
54.468693951159835 64.79641683731889 34.954139 -117.872506 51.848611 -0.554439
Как сделать? Сори если тупой вопрос
Пробовал разными способами, но не работает...
regex = r'-?\d{1,3}[.]\d{1,}[ ]-?\d{1,3}[.]\d{1,}'
regex = r'(?:-|\b)[0-9]{1,3}\.[0-9]*\b'
regex = r'-?\d{1,3}[.]\d{1,}[ ]-?\d{1,3}[.]\d{1,}'
regex = r'[-?\d]{2,3}\-?.-?[\d]+\b'
[-]?[0-9]{1,3}\.[0-9]+ [-]?[0-9]{1,3}\.[0-9]+
import re
text = "Привет! Вчера, когда ездила к тебе в гости, потеряла тут 57.652420 39.862406 свой наушник. Можешь пожалуйста его поискать, может быть найдёшь?"
pattern = r'-?\d{1,3}\.\d+ -?\d{1,3}\.\d+'
coordinates = re.findall(pattern, text)
for coord_pair in coordinates:
print(coord_pair)
57.652420 39.862406
...Program finished with exit code 0