更改正则表达式以查找十进制Javascript

Change regex to find decimals-Javascript

本文关键字:十进制 Javascript 查找 正则表达式      更新时间:2023-09-26

考虑以下字符串:

var string="0px 0px 4.5px";

现在假设我想从这个字符串中提取数字。我将使用以下正则表达式:

var numbers=string.match(/'d+/g);

但我得到的是:

["0","0","4"]

所以你看到4.5变成了一个整数。因此,我的问题是如何更改上面的正则表达式以从字符串

中获取浮点数

这是一个很好的(?:'d+(?:'.'d*)?|'.'d+)

解释

 (?:
      'd+                 # Digits
      (?: '. 'd* )?       # Optional dot (digits optional)
   |                    # or,
      '. 'd+              # Dot digits
 )

您的答案已在canon的评论中。

但由于您添加了regex标记,因此这里是解决方案。

Regex:/(?:'d+(?:'.'d+)?|'.'d+)/g

要使用的标志:

  • 用于全局搜索的g

解释:

  • 'd+将匹配整数部分。

  • (?:'.'d+)?将匹配小数部分,这是可选的。

  • '.'d+表示只有小数部分的数字。

Regex101演示