从字符串中提取数字部分

时间:2015-02-18 10:52:33

标签: javascript regex

我有许多字符串,其中包含以下任何一种形式

  1. 空字符串
  2. 0
  3. 包含数字的字符串(可能在其前面有 - 符号并且可能有小数点)后跟一个空格,后跟一些其他字符。例如-234.44 ABC

    1. 如果是1.我想提取空字符串
    2. 在案例2中我想提取0
    3. 在案例3中,我想提取数字部分。在示例中,它将是-234.44
  4. 正则表达式会是什么?

    顺便说一下,我们永远不会有像

    这样的字符串
    0000 ABC
    00.3 ABC
    +1.7 ABC
    .9 ABC
    -
    

2 个答案:

答案 0 :(得分:3)

([+-]?\d*(?:\.\d+)?)

这个简单的正则表达式应该为你做。参见演示。

https://regex101.com/r/jG2wO4/9

如果您在行首处没有任何其他内容,也可以使用^([+-]?\d*(?:\.\d+)?)

使用

^(?=.*\d)(?:[+-](?=\d|\.\d))?\d*(?:\.\d+)?|^$

如果您的输入中有+-,请参阅演示。

https://regex101.com/r/jG2wO4/11

答案 1 :(得分:1)

您可以使用此正则表达式:

^([+-]?\d+(?:\.\d+)?\b|$)

RegEx Demo