适用boost regex检测 输入字符为小数

来源:互联网 发布:B2c php 开源 编辑:程序博客网 时间:2024/06/05 19:10

#include <boost/regex.hpp>
#include <string>
#include <iostream>
#define REGEX_ISFLOAT        "[0-9]|[0-9]\.[0-9]"
#define REGEX_ISNUM        ""
#define REGEX_ISAL            ""

using namespace std;
using namespace boost;
boost::regex expression(REGEX_ISFLOAT);//设定正则规则
std::string str;

int main(int argc, _TCHAR* argv[])
{
    while(1)
    {
        cout<<"输入"<<endl;
        cin>>str;

    
        if( regex_match( str,expression)) //字符串匹配
        {
            cout<<"匹配成功"<<endl;
        }
        else
        {
            cout<<"匹配失败"<<endl;
        }
    }
    return 0;

}

由上边可以看见,如果适用boost regex可以很方便的进行字符串的匹配,特别在用户界面输入的时候,可以对用户输入的非法字符串进行过滤,假设现在的任务是检测编辑框输入的信息,如果是浮点数或者整型,则为正确,否则为非法。

首先包含相关的boost regex头文件:

#include <boost/regex.hpp>

using namespace boost;

设定正则规则:

#define  REGEX_ISFLOAT  "[0-9]|[0-9]\.[0-9]"
#define  REGEX_ISNUM  ""
#define  REGEX_ISAL   ""

boost::regex expression(REGEX_ISFLOAT);

假设输入的字符存储在std::string str里边.匹配可以使用下边的函数:

if(  regex_match( str,expression))
  {
   cout<<"匹配成功"<<endl;
  }
  else
  {
   cout<<"匹配失败"<<endl;
  }

整个过程既是这么简单,boost无敌强大。

通过上边的过程,如果设定合适的正则规则,就可以检测比如ip地址输入、浮点数整数输入、电话号码输入、年月日、时间等。

 


 

阅读(519) | 评论(0) | 转发(0) |
0

上一篇:错误记录 要注意异常的抛出

下一篇:boost regex 数据有效性检测

相关热门文章
  • test123
  • 编写安全代码——小心有符号数...
  • 使用openssl api进行加密解密...
  • 一段自己打印自己的c程序...
  • sql relay的c++接口
  • GCC编译命令
  • 推荐系统常用算法
  • C++Primer笔记 第八章 标准IO...
  • c语言中的#号和##号的作用...
  • gstreamer插件开发-------sink...
给主人留下些什么吧!~~