【问题标题】:Match floating point number with regular expression用正则表达式匹配浮点数
【发布时间】:2021-03-09 06:52:34
【问题描述】:

我试图在 neo4j 中使用正则表达式查找给定范围内的浮点数。例如,返回 0-5 范围内的所有数字。所以结果可能是:1、1.1、5.21、4.45。我正在使用正则表达式 [0-5]*[.][0-5]* 但它也返回大于 5 的结果,这是不正确的。我想以一种与字符串匹配的方式处理正则表达式,因为我的数据库的设计方式是节点包含字符串、整数和浮点数,所有这些都是表单或字符串。所以我想用正则表达式匹配浮点值。

【问题讨论】:

  • 试试^[0-5][.][0-5]+$
  • 您要验证数字,还是提取浮点数,例如来自foo 5.21 bar
  • 要提取带有可选分数的数字,请使用此正则表达式:[0-5](\.[0-9]+)?。它将返回1.23 用于输入foo 1.23 bar
  • 只想验证号码。这些是分开放置的,不带字符串
  • 感谢@Thefourthbird。它工作正常

标签: regex neo4j


【解决方案1】:

这是一个正则表达式,用于精确匹配 05 之间的小数:

^(?:[0-4](\.[0-9]+)?|5(\.0+)?)$

解释:

  • ^ - 字符串开头
  • (?: - 非捕获组开始,用于 OR
    • [0-4] - 04 之间的整数
    • (\.[0-9]+)? - 可选 . 和数字
    • | - 或
    • 5 - 文字 5
    • (\.0+)? - 可选 . 和零
  • ) - 非捕获组结束
  • $ - 字符串结束

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-17
    • 2022-11-16
    • 2015-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多