JavaScript 正则表达式替换为分组欧元符号

JavaScript Regexp replace with grouping Euro symbol's

在完全替换后尝试为 ​ € 14,50 创建 Regexp 必须只留下

14,50

也许有人可以帮忙?

代码

See regex in use here

下面的正则表达式只是确保它前面没有 #

[^#\d](\d+(?:,\d+)?)

或者:€ *(\d+(?:,\d+)?),确保其前面有 ,后跟任意数量的空格。

用法

var r = /[^#\d](\d+(?:,\d+)?)/g;
var s = `​ € 14,50`

console.log(r.exec(s)[1]);

备选

var r = /€ *(\d+(?:,\d+)?)/g;
var s = `​ € 14,50`

console.log(r.exec(s)[1]);


说明

  • [^#\d] 匹配集合中不存在的任何内容(除 # 和数字之外的任何内容)
  • (\d+(?:,\d+)?) 将以下内容捕获到捕获组 1
    • \d+ 匹配任意数字一次或多次
    • (?:,\d+)? 匹配以下零次或一次
      • ,按字面意思匹配逗号,
      • \d+ 匹配任意数字一次或多次