Я пытаюсь получить строку внутри файла
id = re.compile('[1-90]\s[0-59].[0-99].+')
if id.search(pal):
print ('si')
a = id.search(pal)
else:
print('NO')
>>>a.group()
'7 3.99 N, 1 13.02 W'
Но исходная строка: 37 3,99 N, 1 13,02 W
Затем я потерял первую строку ‘3’
Как изменить шаблон, чтобы получить полную строку
Другой вопрос Я могу использовать строку в виде цифры, т.е. Это позиция в градусах и минутах, и я хотел бы преобразовать…. в градусы.minutes gg.mmm
Вам нужно захватить одного персонажа за раз. Например, следующее регулярное выражение будет захватывать первую половину строки (при условии, что в ведущих числах допускается не более двух цифр).
'[1-9]?[0-9]\s[0-9]\.[0-9]{2}\s[NS],'
Это регулярное выражение соответствует (и включает) вашу запятую. ?
указывает, что ведущая цифра является необязательной. Экранирование периода с помощью a \
делает его совпадающим буквальным периодом, а не с каким-либо одним символом. {2}
означает, что он должен точно соответствовать двум экземплярам того, что ему предшествовало. Но вы действительно должны проверить regexpal и этот сайт для более регулярного выражения помощи.
Затем я потерял первую строку “3”. Как изменить шаблон, чтобы получить полную строку
Вы забудете добавить +
в первую группу [1-90]
[1-90]+\s[0-59].[0-99].+
[1-90]
и [0-99]
означают цифры от 1 до 9
Если вы хотите проверить цифры в диапазоне, попробуйте таким образом.
Проверить диапазон от 1 до 90
^([1-9]|[1-8][0-9]|90)$