2014-04-03 21 views
2

我有這些字符串Python的正則表達式得到的權重值從字符串

Gold Standard Whey 10.20 KG Optimum 
Gold Standard Whey kg10,20 Optimum 
Gold Standard Whey kg. 10.20 Optimum 
Gold Standard Whey 10.20kg. Optimum 

我需要使用Python使用提取10.20或10,20的正則表達式

我已與此正則表達式

((kg\.|KG\.|Kg\.|kg|KG|Kg){1}[ ]{0,}\d{1,}?(\.|\,)\d{0,})|(\d{0,}?(\.|\,)\d{1,}[ ]{0,}(kg\.|KG\.|Kg\.|kg|KG|Kg)) 
測試

但尋找更好的正則表達式。

回答

1

如果您只需要數字和字符串只包含你想的數字,爲什麼不只是像

\d+(?:[.,]\d+)? 

(?:...)是一個非捕獲組,使之成爲可選的?允許捕捉非十進制數字作爲好。

1

嘗試用這種簡單的正則表達式:

((?:[kK][gG]\.?)[ ]*\d+(?:[.,]\d+)?|\d+(?:[.,]\d+)?[ ]*(?:[kK][gG]\.?)) 
+0

謝謝你的工作! –