2013-05-31 267 views
0

我想將字母和數字分開。我嘗試過這種方式,但它不適用於負數。我必須改變什麼?將數字與字母分開; python

match = re.match(r"([0-9]+(?:.[0-9]+)?)([a-z]+)", "-0.5m", re.I) 
number = match.group(1) 
letter = = match.group(2) 
+1

這裏有些正則表達式奇才可能會想出解決辦法,但是,什麼是你的字符串語法是怎樣的?你能給一個例子字符串來匹配嗎? – Torxed

+0

你能提供一套預期的輸入/輸出對嗎? – Don

+0

在我的問題中有一個例子,字符串是「-0.5m」,我想-0.5作爲數字和米作爲字母,但正數也應該起作用。 – Yui

回答

3
match = re.match(r"(-?[0-9]+(?:.[0-9]+)?)([a-z]+)", "-0.5m", re.I) 

-?添加任選允許在數的開始的減號。

+0

謝謝,完美的作品 – Yui

+0

請注意。在正則表達式中應該是\。作爲。可以是任何角色。 –