前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >c++用正则表达式判断匹配字符串中的数字数值(包括负数,小数,整数)MFC编辑框判断数值

c++用正则表达式判断匹配字符串中的数字数值(包括负数,小数,整数)MFC编辑框判断数值

作者头像
徐飞机
发布2019-12-26 18:05:06
3.4K0
发布2019-12-26 18:05:06
举报

原文作者:aircraft

原文链接:https://cloud.tencent.com/developer/article/1560390

  因为今天做那个MFC的编辑框有一些框就是要判断输入的是否是数值,一开始我就直接把编辑框那个NUMBER属性给设置了  然后发现 负数不能输入 我TM的差点脑袋都炸了

然后就去百度搜索函数直接判断字符串数值包括小数,负数,整数这三个的,发现没有官方函数????

好吧 然后我就去使用正则表达式来搞这个了  反正从c++11里就添加了正则表达式的支持

正则头文件是这个:

代码语言:javascript
复制
#include <regex>

示例代码:

代码语言:javascript
复制
#include <regex>
#include <iostream>
//正则匹配数值包括负数 小数 整数
 std::string str{ "-[0-9]+(.[0-9]+)?|[0-9]+(.[0-9]+)?" };
 std::regex re(str);
 bool retMatchStr = FALSE;

int main()
{
   retMatchStr = std::regex_match(CString2string(m_strPx), re);
    if (!retMatchStr)
    {
        MessageBoxA("请输入正确的数值");
        return -1;
    }
    //   retMatchStr == TRUE  就保留这个数值字符串
    return 0;   
}

regex_match(s,re),判断正则表达式re和s是否完全匹配,能从头匹配到尾叫完全。能匹配返回TRUE,不能就FALSE

用法已经超级简化了哈  谁看不懂 来跟我说   我头把你锤爆。。。。。。

若有兴趣交流分享技术,可关注本人公众号,里面会不定期的分享各种编程教程,和共享源码,诸如研究分享关于c/c++,python,前端,后端,opencv,halcon,opengl,机器学习深度学习之类有关于基础编程,图像处理和机器视觉开发的知识

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-12-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档