[英]How do I parse a double with optional decimal seperator
我想用單位解析數字
3cm
3.44 cm
12,33 mm
下面的表達式正是我想要的
(([0-9]*(?:[,.]?[0-9]*?))[\s]*(cm|mm))
但問題是它也可以匹配
cm 22.1 cm
在這種情況下,它會忽略數字並僅匹配第一個cm,我如何忽略第一個cm?
您可以將第一個數字匹配量詞從零或多個(*)更新為一個或多個(+):
(([0-9]+(?:[,.]?[0-9]*?))[\s]*(cm|mm))
就像其他人所說的那樣,您需要將量詞*
更改為+
,其中*
表示零或多個,而+
表示一個或多個。 如果您還想匹配數字12,533.45 cm
,則可以使用以下正則表達式。
[0-9]+(?:,[0-9]+)*(?:\.[0-9]+)?\s*(?:cm|mm)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.