我正在寻找匹配一组数字的正则表达式字符串:
到目前为止,我已经出现了正则表达式字符串[0-9\s\.]+
,但这不是我想要的。那里有任何清洁解决方案吗?
非常感谢
答案 0 :(得分:2)
试试这个:
[\d\s]+(?:\.(?:\s*\d){2,4})?
这使小数点和后面的数字/空格可选。如果之后有数字,则会检查其中有2-4个数字{2,4}
如果这只应匹配整个字符串,则可以锚定它。
^[\d\s]+(?:\.(?:\s*\d){2,4})?\s*$
答案 1 :(得分:1)
正则表达式的问题在于它也会匹配127.0.0.1
,这是一个IP4地址,而不是数字。
以下正则表达式可以解决这个问题:
[0-9]+[0-9\s]*(\.(\s*[0-9]){2,4})?
我做出的假设:您需要至少放置一个数字(在逗号之前)。
答案 2 :(得分:0)
(\d+[\d\s]*\.((\s*\d){2,4})?|\d+)
我仍然使用10
这消除了他们。
答案 3 :(得分:0)
这还行不通-listAll()
吗?
我完整的postgresql查询如下:
PanacheEntity
并执行以下操作:
'[^. 0-9]'
分割这个新的char字符串,并调用所需结果列表中的哪个元素。停留了一段时间。我希望这会有所帮助。