http://blog.csdn.net/jinhill/article/details/5929102
2010
boost库安装比较麻烦,需要自己编译源文件,我整理了一下,如果仅仅需要做正则表达式,按下面的代码敲就行了:
cmd
vcvars32.bat
cd D:/boost_1_32_0/libs/regex/build
d:
nmake -fvc6.mak
nmake -fvc6.mak install
注意,别看下载下来的数据包没有多大,解压缩之后达到了100多M,编译完之后为109M,占用131M,所以安装时一定注意空出足够的空间,敲入nmake -fvc6.mak后等待的时间比较长,屏幕上还会出现一大堆英语,可以不做考虑.按照步骤往下敲就行了.压缩包内文档很详细,参照文档继续就可以了.
在VC6中集成:Tools->Options->Directories->Include files
加入:D:/boost_1_32_0
编写一个源程序测试一下:
- #include "stdafx.h"
-
- #include "stdafx.h"
- #include <cstdlib>
- #include <stdlib.h>
- #include <boost/regex.hpp>
- #include <string>
- #include <iostream>
- using namespace std;
- using namespace boost;
- #if _DEBUG
- #pragma comment(lib, "boost_regex-vc6-mt-sgd-1_38.lib")
- #else
- #pragma comment(lib, "boost_regex-vc6-mt-1_38.lib")
- #endif
- regex expression("^select ([a-zA-Z]*) from ([a-zA-Z]*)");
- int main(int argc, char* argv[])
- {
- std::string in;
- cmatch what;
- cout << "enter test string" << endl;
- getline(cin,in);
- if(regex_match(in.c_str(), what, expression))
- {
- for(int i=0;i<what.size();i++)
- cout<<"str :"<<what[i].str()<<endl;
- }
- else
- {
- cout<<"Error Input"<<endl;
- }
- return 0;
- }
输入: select name from table
输出: str:select name from table
str:name
str:table
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。