boost庫安裝比較麻煩,需要自己編譯源文件,我整理了一下,如果僅僅需要做正則表達式,按下面的代碼敲就行了:
cmd
vcvars32.bat
cd D:oost_1_32_0libs egexuild
d:
nmake -fvc6.mak
nmake -fvc6.mak install
注意,別看下載下來的數據包沒有多大,解壓縮之後達到了100多M,編譯完之後為109M,占用131M,所以安裝時一定注意空出足夠的空間,敲入nmake -fvc6.mak後等待的時間比較長,屏幕上還會出現一大堆英語,可以不做考慮.按照步驟往下敲就行了.壓縮包內文檔很詳細,參照文檔繼續就可以了.
在VC6中集成:Tools->Options->DirectorIEs->Include files
加入:D:oost_1_32_0
編寫一個源程序測試一下:
#include "stdafx.h"
#include <cstdlib>
#include <stdlib.h>
#include <boost/regex.hpp>
#include <string>
#include <iOStream>
using namespace std;
using namespace boost;
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