编译 boost 的正则表达式部分

原创 2006年05月17日 13:13:00

转:
VC利用boost库解析正则表达式
最近做数据库涉及到解析sql语句,觉得最好的办法是写正则表达式解析,由于vc6没有解析函数,自己写又不甘心,后来从网上找到了boost库,解决了这个问题.
boost下载地址:http://www.boost.org

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

注意:

如果运行 vcvars32.bat时提示找不到的话,可以在VC的安装目录搜一下,找到了之后在命令行处运行一下就可以了

编写一个源程序测试一下:

#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

相关文章推荐

VS2008编译boost正则表达式库Regex过程中的注意事项

目前,boost最新版本是:boost_1_63_0 boost官网:http://www.boost.org/ boost1.48.0源代码官方下载页面:http://sourceforge.n...

Boost_1_34_0中Regex正则表达式类库的注意事项及编译后文件

编译Boost的学习笔记及打包文件链接。

Boost库学习之正则表达式

  • 2015年12月29日 14:41
  • 131KB
  • 下载

boost导论概述(正则表达式)

  • 2010年12月13日 13:12
  • 338KB
  • 下载

boost_regex正则表达式详解

boost::regex的默认正则表达式语法是perl语法         boost::regex支持perl regular表达式、POSIX-Extended regular表达式和POSIX...

Boost_Regex_C_正则表达式快速入门.pdf

  • 2009年10月13日 09:54
  • 1.94MB
  • 下载

boost正则表达式

  • 2013年09月16日 20:17
  • 11KB
  • 下载

Boost学习之正则表达式--regex

Boost学习之正则表达式--regex【转】【1】 http://blog.csdn.net/alsm168/article/details/6478920 Boost学习之正则表达式--reg...
  • educast
  • educast
  • 2014年02月10日 17:03
  • 973

boost库中的正则表达式

  • 2011年07月28日 08:39
  • 410KB
  • 下载

C/C++正则表达式boost_1_34_1源码

  • 2014年07月18日 16:24
  • 11MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:编译 boost 的正则表达式部分
举报原因:
原因补充:

(最多只允许输入30个字)