文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>适用boost regex检测 输入字符为小数

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

时间:2010-10-27  来源:tastesweet

#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地址输入、浮点数整数输入、电话号码输入、年月日、时间等。

 


 

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载