(原)Ubuntu 9.10 下使用boost::regex库

 在Boost库中引入regex库结束了C++不能玩正则表达式的尴尬,今天在学习时遇到了点问题,以下为记录:

代码:

 

/******************************************************
 *本程序是验证某种卡号是否正确,卡号是由四组数字构成,
 *每组数字又包含四个数字,中间用连字符隔开如"1234-4567-4568-9632",
 *如果匹配成功则输出Yes,否则输出No
********************************************************/
#include <iostream>
#include <boost/regex.hpp>
#include <string>

int main(int argc, char *argv[])
{
	boost::regex e("(\\d{4}[-]){3}\\d{4}");

	std::string s("1234-4567-4568-9632");

	if (boost::regex_match(s, e))
		std::cout << "Yes" << std::endl;
	else
		std::cout << "No" << std::endl;

	return 0;
}

 

继续阅读