正则表达式-实数_实数正则判断-程序员宅基地

技术标签: 正则表达式  

本人给出的实数的正则表达式(可能不对):

^\-?([1-9]\d*|0)(\.\d+)?$

思考过程:

整数

整数包括:0,正整数,负整数

0

0的正则:

^0$
正整数

正整数(必须为1-9开头,后面[0-9]0个或多个)的正则:

^[1-9]\d*$
负整数

负整数(正整数前加"-"):

^\-[1-9]\d*$

0,正整数和负整数合并起来就是整数:

^\-?[1-9]\d*|0$

小数

(这里说的时末尾可以为0的小数)
错误想法(经评论指出):小数就是整数加上小数点再加上1个或多个[0-9]

^(\-?[1-9]\d*|0)\.\d+$

上面这个会漏掉一种情况,小数点左边部分是(-0),则不是整数,但它能组成小数。(-0)加上小数点再加上1个或多个[0-9]也是小数,比如-0.01。
想了下应该这样做,把小数分成2个部分,正小数和负小数,负小数就是正小数前加负号。
那么小数可以写成这样:

^\-?([1-9]\d*|0)\.\d+$

"|"会作用于左边的全部范围,所以要加括号。

实数

(末尾可以为0)
实数包括整数和小数(没有(.\d+)这部分就是整数,有这部分就是小数):

^\-?([1-9]\d*|0)(\.\d+)?$

有错请帮忙指正,谢谢。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/timexx/article/details/115379568

智能推荐

C语言/C++常见习题问答集锦(三十二)之六种图案的字母金字塔_c++字母金字塔-程序员宅基地

文章浏览阅读5.7k次,点赞20次,收藏114次。字母金字塔图案1、A BBB CCCCC DDDDDDD图案2、A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9图案3、A ABA ABCBA ABCDCBA图案4、A BB CCC DDDD EEEEE FFFFFF图案5、A BAB CBABC DCBABCD EDCBABCDE空心字母金字图案6、A B B C C D D EEEEEEEEE_c++字母金字塔

如何点击IE窗口上方的“X关闭符号”,弹出提示窗口呢? -程序员宅基地

文章浏览阅读972次。url:http://www.cnblogs.com/zhangzs8896/archive/2005/12/17/298899.html New Document function test() { return ""; } onbeforeunload="return test();"> _关闭符号

天坑的:Fatal Python error: init_sys_streams: can‘t initialize sys standard streams解决方案_fatal python error: init_sys_streams: can't initia-程序员宅基地

文章浏览阅读1.6w次,点赞7次,收藏18次。【问题描述】今天用pycharm新建工程突然提示:编译环境有问题,简单写了两行代码测试一直有问题, 报错如下:Fatal Python error: init_sys_streams: can’t initialize sys standard streams【原因分析】找了很多解决方案,结合错误提示,还是问题发生在虚拟环境下lib目录中的io.py身上,网上有好多老铁说改文件名字,然而证明并没有什么用,认真看下文件信息和内容发现并无区别,最后突然发现io.py的生成日期不对,恒新鲜,不是新建环境_fatal python error: init_sys_streams: can't initialize sys standard streams

7-4 稀疏矩阵加法 (20 分) pta_稀疏矩阵加法pta-程序员宅基地

文章浏览阅读1.9k次,点赞2次,收藏2次。7-4稀疏矩阵加法(20分)给定两个矩阵A和B,求其和矩阵C=A+B。输入格式:第一行包含两个数Row和Col,分别表示矩阵的行数和列数,A和B的维度是一致的。第二行只有一个数N​1​​,表示接下来要输入的A中的非零元素的个数。接下来是N​1​​行,每一行都是ijA[i,j]这样的形式,表示的A中第i行第j列的元素A[i,j],为了与大多数编程语言保持一致,它..._稀疏矩阵加法pta

【Android 安全】DEX 加密 ( Java 工具开发 | 解压 apk 文件 | 加密生成 dex 文件 | 打包未签名 apk 文件 | 文件解压缩相关代码 )_dex加密-程序员宅基地

文章浏览阅读1.9k次。一、解压 apk 文件、二、加密生成 dex 文件、三、打包未签名 apk 文件、四、完整代码示例、五、文件解压缩相关代码、六、执行结果_dex加密

随便推点

jupyter notebook版本更新和降低版本命令_jupyternotebook 降版本-程序员宅基地

文章浏览阅读1.2w次。安装更高的版本:pip install -U "notebook>6.0"降低版本pip install -U "notebook<5.0"_jupyternotebook 降版本

Jenkins 部署(Docker)_h: 2: cd: can't cd to /var/jenkins_mount/workspace-程序员宅基地

文章浏览阅读6.4k次,点赞6次,收藏43次。环境docker v20.10.6 + jenkins/jenkins(image)部署1. 下载镜像docker pull jenkins/jenkins2. 创建工作目录在服务器创建 Jenkins 工作目录 /var/jenkins_mount 并授权权限,启容器时将 jenkins 容器目录挂载到这个目录上mkdir -p /var/jenkins_mountchmod 777 /var/jenkins_mount3. 启动容器docker run -d -p 1024_h: 2: cd: can't cd to /var/jenkins_mount/workspace/gtstorageweb

MySQL和hive建表区别,Hive中創建表(hive的使用和MySQL的使用很相似)-程序员宅基地

文章浏览阅读262次。CREATE TABLE語句(不區分大小寫)Create Table是用於在Hive中創建表的語句,語法和示例如下:語法:CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.] table_name[(col_name data_type [COMMENT col_comment], ...)][COMMENT table_co..._hive create table stored as mysql

解决php因内存不足httpd.exe错误方法!_httpd.exe重启不起来-程序员宅基地

文章浏览阅读246次。1,修改 php.ini将memory_limit由 8M 改成 16M(或更大),重启apache服务2,在PHP 文件中 加入 ini_set(”memory_limit”,”100M”);注意:为了系统的其它资源的正常使用 请您不要将 memory_limit设置太大,其中-1为不限3,修改.htaccess 文档(前提是该目录支持.htaccess)在文档中新增一句:p_httpd.exe重启不起来

分布式系统设计_分布式系统的设计审查清单-程序员宅基地

文章浏览阅读201次。分布式系统设计This article was originally published on my website — https://kislayverma.com/programming/design-review-checklist-for-distributed-systems/ 本文最初发布在我的网站上-https: //kislayverma.com/programming/desi...

数字图像处理-几何变换_冈萨雷斯 图像几何变换在第几章呢-程序员宅基地

文章浏览阅读2.4k次。本程序实现图像处理图像几何变换,基本原理参考冈萨雷斯《数字图像处理》(第二版)第五章中第十一小节。程序需要先调用cal_coef函数计算出来系数,然后调用Image_TransAffine函数得到几何变换后的图像。////////////////////////////////////////////////////////////////////////////函数名称:cal_coef//传入_冈萨雷斯 图像几何变换在第几章呢

推荐文章

热门文章

相关标签