2012-08-05 46 views
0

我想要得到一個價格和使用jQuery的字符串的正負。
我很確定正則表達式是要走的路,但我看不到它正確。從字符串得到的價格

輸入:
唧唧歪歪血乳酸( - €0.25)

應該輸出:
方向= -
量= 0.25

應該使用哪些正則表達式?

回答

2

在JavaScript中(沒有jQuery的正則表達式),使用

var results = input.match(/\(([+-])\s*€\s*(\d+\.\d{2})\)/); 

您的輸入,該match的結果是:

results[0]: "(- € 0.25)" 
results[1]: "-" 
results[2]: "0.25" 
results.index: 16 
0

嘗試類似的東西:

/^(.+) \((\-){0,1}€ ([0-9\.]+)\)$/ 
1
"[^€]*€[ ]*\([.[:digit:]]*\).*" -> "\1" 

這是POSIX。你可以用它這樣:

sed "s|[^€]*.[ ]*\([.[:digit:]]*\).*|\1|" 
+0

的OP要求提供jQuery(javascript)。此外,你的正則表達式似乎不符合我看到的「方向」(+或 - ) – Bergi 2012-08-05 22:19:34

+0

。幾乎所有語言的POSIX對於所有圖書館都很常見。即使他不使用sed,他也可以直接將其轉換爲編程語言 – alinsoar 2012-08-05 22:20:34