Как я могу создать регулярное выражение для принятия чисел в Python?Числа могут быть целыми числами, числами с плавающей точкой или в формате 3e + 3 или 3e-3.
Я хочу сопоставить только начало строки, и если присутствует число в любом из вышеупомянутых форматоввернуть это число и остаток строки.
Редактировать :
Например,
Ввод >> 290.07abcd Выход >> [290.07, abcd]
Вход >> abc123 Выход >> Нет
Кроме того, толькопервое вхождение должно быть проверено.
Например,
Вход >> -390-400abc
Выход >> [- 390, -400abc]
Как это сделать с помощью Python?Я пробовал следующее, но это не дает мне ожидаемый результат:
import re
r = input()
x = re.search('^[+-]?\d*(\.\d+)?([+-][eE]\d+)?', r)
if x:
print("x present: ", x.group())
else:
print(None)
Например,
Ввод >> 100abc
Выход >> x присутствует: 100
Вход >> abc100
Выход >> x присутствует:
Ожидаемый результат >> Нет