簡體   English   中英

正則表達式匹配浮點數和科學記數法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM