[英]Regex to match both float and scientific notation
我正在嘗試匹配類似於以下內容的字符串:
{"1": [123, 456, 789], "time": 1.234e-05}
要么
{"1": [123, 456, 789], "time": 1.234}
這是我所擁有的:
\\{"1": \\[123, 456, 789], "time": [0-9.]*}
雖然此正則表達式匹配第二個具有浮點time
字符串,但它無法捕捉帶有e-...
科學記數法。 我應該如何更改我的正則表達式以匹配兩者?
[0-9.]*(e\\-[0-9]*)?
.e-
匹配列表中的單個字符.e-
(區分大小寫)
您可以使用一或零量詞?
:
>>> re.match('(\d+\.\d+(e-\d+)?)', '1.234').group(1)
'1.234'
>>> re.match('(\d+\.\d+(e-\d+)?)', '1.234e-05').group(1)
'1.234e-05'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.