c++⽤正则表达式判断匹配字符串中的数字数值(包括负数,⼩
数,整数)MFC编辑框判断数值
原⽂作者:aircraft
  因为今天做那个MFC的编辑框有⼀些框就是要判断输⼊的是否是数值,⼀开始我就直接把编辑框那个NUMBER属性给设置了然后发现负数不能输⼊我TM的差点脑袋都炸了
然后就去百度搜索函数直接判断字符串数值包括⼩数,负数,整数这三个的,发现没有官⽅函数
好吧然后我就去使⽤正则表达式来搞这个了反正从c++11⾥就添加了正则表达式的⽀持
正则头⽂件是这个:
#include <regex>
python正则表达式不包含⽰例代码:
#include <regex>
#include <iostream>
#include <string>
//正则匹配数值包括负数⼩数整数
std::string str{ "-[0-9]+(.[0-9]+)?|[0-9]+(.[0-9]+)?" };
std::regex re(str);
bool retMatchStr = false;
int main()
{
std::string numberStr = "-8.9#";
retMatchStr = std::regex_match(numberStr, re);
if (!retMatchStr)
{
std::cout << "请输⼊正确的数值" << std::endl;
//MessageBoxA("请输⼊正确的数值");  MFC下使⽤然后可以接⼀个return跳出
}
else
{
std::cout << "yes" << std::endl;
}
//  retMatchStr == TRUE  就保留这个数值字符串
system("pause");
return0;
}
regex_match(s,re),判断正则表达式re和s是否完全匹配,能从头匹配到尾叫完全。能匹配返回TRUE,不能就FALSE
⽤法已经超级简化了哈谁看不懂来跟我说我头把你锤爆。。。。。。
若有兴趣交流分享技术,可关注本⼈,⾥⾯会不定期的分享各种编程教程,和共享源码,诸如研究分享关于c/c++,python,前端,后端,opencv,halcon,opengl,机器学习深度学习之类有关于基础编程,图像处理和机器视觉开发的知识

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。