【问题标题】:JavaScript Regexp replace with grouping Euro symbol'sJavaScript 正则表达式替换为分组欧元符号
【发布时间】:2017-12-06 14:56:04
【问题描述】:

在完全替换后尝试为​ € 14,50创建正则表达式必须只留下

14,50

也许有人可以帮助?

【问题讨论】:

  • 欢迎来到 Stack Overflow!纯粹的代码编写请求在 Stack Overflow 上是题外话——我们希望这里的问题与特定的编程问题相关——但我们很乐意帮助您自己编写!告诉我们what you've tried,以及您遇到的问题。这也将有助于我们更好地回答您的问题。

标签: javascript regex replace regex-lookarounds regex-group


【解决方案1】:

代码

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+ 匹配任意数字一次或多次

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-12
    • 2010-11-12
    • 2016-09-23
    • 1970-01-01
    相关资源
    最近更新 更多