正则表达式

我需要确定给定的字符串是否可以在SQL语句中解释为数字(整数或浮点数)。如下所示: AVG(CASE WHEN x ~ '^*.?*$' THEN x::float ELSE NULL END) FROM test我发现的模式匹配可用于此目的。所以我适应中给出的声明这个地方纳入浮点数。这是我的代码:WITH test(x) AS ( (''), ('.'), ('.0'), ('0.'), ('0'), ('1'), ('123'), ('123.456'), ('abc'), ('1..2'), ('1.2.3.4')) x , x ~ '^*.?*$' AS test;输出: x | ———+———– | t . | t .0 | t 0. | t 0 | t 1 | t 123 | t 123.456 | t abc | f 1..2 | f 1.2.3.4 | f(11 rows)如您所见正则表达式,前两个项目(空字符串''和唯一句点'.')被错误分类为数字类型(不是)。目前postgresql rows,我无法对此进一步了解。任何帮助表示赞赏!更新基于这个答案(和评论)postgresql rows,我适应的模式:WITH test(x) AS ( (''), ('.'), ('.0'), ('0.'), ('0'), ('1'), ('123'), ('123.456'), ('abc'), ('1..2'), ('1.2.3.4'), ('1×234'), ('1.234e-5')) x , x ~ '^(+?*|+)$' AS test;这使: x | ———-+———– | f . | f .0 | t 0. | t 0 | t 1 | t 123 | t 123.456 | t abc | f 1..2 | f 1.2.3.4 | f 1×234 | f 1.234e-5 | f(13 rows)正如我现在看到的那样postgresql rows正则表达式,科学计数法和负数仍然存在一些问题。
1. 本站所有资源来源于用户上传和网络,如有侵权请联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长处理!
6. 本站不售卖代码,资源标价只是站长收集整理的辛苦费!如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
7. 站长QQ号码 2205675299
资源库 - 资源分享下载网 » 正则表达式
常见问题FAQ
- 关于资源售价和售后服务的说明?
- 代码有没有售后服务和技术支持?
- 有没有搭建服务?
- 链接地址失效了怎么办?
- 关于解压密码

