用正则表达式匹配浮点数

时间:2021-03-09 06:52:34

标签: regex neo4j

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

1 个答案:

答案 0 :(得分:2)

这是一个正则表达式,用于精确匹配 05 之间的数字以及介于两者之间的小数:

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

说明:

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