你如何只用正则表达式保留数字,逗号和点(在数字之间出现)?

时间:2013-04-12 11:03:07

标签: javascript regex

假设您有以下字符串:

var string = "This shirt, is very nice. It costs DKK 1.500,00";

我想要一个返回1.500,00的函数。

关键是,我只想允许数字之间出现逗号和点,所以我最终不会:,.1.500,00

如何在javascript中使用regexp执行此操作?

3 个答案:

答案 0 :(得分:3)

这个怎么样 - \b\d[.,\d]*\b

答案 1 :(得分:0)

这似乎有效:

"This shirt, is very nice. It costs DKK ,.1.500,00,.".match(/(\d+\.\d+)+,\d+/g);

答案 2 :(得分:0)

这可能是必需的:

\d((?=([.,]\d|\d)).)*

\d匹配数字

(?=([.,]\d|\d))是一个前瞻,可确保以下字符为数字或.,后跟数字。

.匹配任何字符,*允许零个或多个前一个模式出现