适用boost regex检测 输入字符为小数
时间:2010-10-27 来源:tastesweet
#include <boost/regex.hpp> |
由上边可以看见,如果适用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地址输入、浮点数整数输入、电话号码输入、年月日、时间等。