程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> vc教程 >> VC利用boost庫解析正則表達式

VC利用boost庫解析正則表達式

編輯:vc教程

  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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved