代码之家  ›  专栏  ›  技术社区  ›  dotty

Regex从字符串中获取float

  •  0
  • dotty  · 技术社区  · 14 年前

    嘿,我有一个基本上跟踪财务状况的系统。在这个应用程序中,它有一个“cost”字段(不幸的是它是VARCHAR字段)。此字段输入了各种值,如:

    £90
    £210 per day
    £50 per logo
    Design - £180
    £36 p/h
    £1009.51
    

    2 回复  |  直到 14 年前
        1
  •  3
  •   Tomalak    14 年前

    如果它总是跟着 £ 字符,您甚至可以确保其他数字不匹配:

    £\s*\d+(?:\.\d+)?
    

    £          # GBP
    \s*        # spaces, optional
    \d+        # digits, required (at least one)
    (?:        # non-capturing group 
      \.\d+    #   a literal dot, and more digits
    )?         # end group, make optional
    
        2
  •  0
  •   hsz    14 年前
    /(\d+[.]?\d*)/
    

    编辑