推荐正则表达式入门教程《正则表达式30分钟入门教程》,作者为deerchao。
以boost1.42为例
1.编译boost regex库
Boost的大部分库不需要编译,regex库是为数不多的需要编译的boost子库之一。
找到libs目录,进入regex的build目录。
打开命令行,进入这个目录。输入以下命令:
nmake vc9.mak
会生成一个vc90目录。存放l编译好的ib和dll文件。我使用vs2008,所以选择了vc9.mak
2.调试第一个boost regex例子
源码如下
#include <iostream> #include <boost/regex.hpp> using namespace std; int main(int argc, char* argv[]) { const char * szStr="your telephone number is 010-65897489"; boost::regex reg( "\\d\\d\\d-\\d\\d\\d\\d\\d\\d\\d\\d"); //查找字符串里的数字 boost::cmatch mat; if(boost::regex_search(szStr, mat, reg)) { cout << "searched:" << mat[0] << endl; } cin.get(); return 0; }
编译时会出现
LINK : fatal error LNK1104: 无法打开文件“libboost_regex-vc90-mt-gd-1_42.lib” 错误。将编译好的lib文件,添入附加目录就好了。
再次编译
运行结果如下
searched:010-65897489