【发布时间】:2017-06-23 10:43:09
【问题描述】:
我有一个字符串,其中包含带有文本的货币。我应该以浮点格式获取货币。
关于如何进行转换的示例
Cash € 1,00 => 1.00
Cash € 10,00 => 10.00
Cash $ 10.00 => 10.00
Maestro € 1,0000 => 1.0000
Visa € 1.000,00 => 1000.00
Cash € 1.000.000,00 => 1000000.00
Cash $ 1,000,000.00 => 1000000.00
现在我分两步完成。第一个表达式只过滤掉0-9 . 和,
var regex = /(\d|\.|,)/g
value = value.match(regex).join('');
我正在为我的第二个正则表达式苦苦挣扎
var regex2 = /(\.|,)(?=.*(\.|,))/g;
这个匹配除最后一个之外的每个点或逗号。
如何使用第二个正则表达式进行逆运算?因此,与其匹配. 和,,不如匹配除这些之外的所有内容。
【问题讨论】:
-
据我了解你只需要写:
/([0-9]+)/g... -
用那个表达我失去了我的逗号
-
你的字符串都是这种格式?
-
我的字符串包含单词+货币符号+美国/欧洲符号的金额。没有特别的顺序
-
为什么不使用第二个正则表达式将所有匹配的点或逗号替换为空字符串,并在第三步中将逗号替换为点?
标签: javascript regex regex-negation