vc6 支持正则表达式

最新版的boost库不支持vc6, 支持vc6的最高版为1.34

故在网上下载boost_1_34_1,解压。

两种方式编译:

1. 运行

boost_1_34_1\tools\jam\src\build.bat, 生成bjam,

拷贝到boost_1_34_1,执行:

bjam --toolset=msvc  --with-regex --build-type=complete stage

这样在stage目录生成dll和lib. 后面会用到。

 

2. 运行

   cd boost_1_34_1\libs\regex\build

  vcvars32.bat 

 nmake -f vc6.mak

 同样生成dll和lib.

 

然后进行测试:

#include "stdafx.h"   

#include <boost/regex.hpp>   

#include <iostream>   

  

  

boost::regex expression("^select ([a-zA-Z]*) from ([a-zA-Z]*)");  

  

  

int main(int argc, char* argv[])  

{  

  

    boost::cmatch what;  

    char *result;  

    const char buff[]="select stower from chengdu";  

    if(boost::regex_match(buff,what,expression))  

    {  

        int n= what.size();  

        for(int i=0;i<n;i++)  

        std::cout<<what[i].str()<<std::endl;      

    }  

    return 0;  

}  


编译前加入头文件路径和库文件路径,include 指定 boost_1_34_1路径,lib 指定\boost_1_34_1\stage\lib即可。

转自:http://blog.csdn.net/sstower/article/details/7179912

posted @ 2012-05-06 08:59  stma  阅读(688)  评论(0)    收藏  举报