2012-08-05 68 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