我正在尝试在 Neo4j 中使用正则表达式查找给定范围内的浮点数。例如,返回 0-5 范围内的所有数字。所以结果可能是:1、1.1、5.21、4.45。我正在使用正则表达式 [0-5]*[.][0-5]*
但它也返回大于 5 的结果,这是不正确的。我想以一种与字符串匹配的方式处理正则表达式,因为我的数据库的设计方式是节点包含字符串、整数和浮点数,所有这些都是形式或字符串。所以我想用正则表达式匹配浮点值。
答案 0 :(得分:2)
这是一个正则表达式,用于精确匹配 0
和 5
之间的数字以及介于两者之间的小数:
^(?:[0-4](\.[0-9]+)?|5(\.0+)?)$
说明:
^
- 字符串的开始(?:
- 非捕获组开始,用于 OR
[0-4]
- 0
和 4
之间的整数(\.[0-9]+)?
- 可选的 .
和数字|
- 或5
- 文字 5
(\.0+)?
- 可选的 .
和零)
- 非捕获组结束$
- 字符串结束