boost 正則

來源:互聯網
上載者:User

參考地址:http://www.cnblogs.com/wubiyu/archive/2008/11/30/1344093.html

常用的類
boost::regex Regex

boost::cmatch 以char數組為容器,儲存匹配傳回值。
boost::smatch 以std::string為容器,儲存匹配傳回值。

boost::regex_match 匹配演算法
boost::regex_search 尋找演算法
boost::regex_replace 替換演算法

/*
* =====================================================================================
*
* Filename: reg2.cc
*
* Description:
*
* Version: 1.0
* Created: 08/27/2011 09:21:07 PM
* Revision: none
* Compiler: gcc
*
* Author: kangle.wang (mn), wangkangluo1@gmail.com
* Company: APE-TECH
*
* =====================================================================================
*/

#include <cstdlib>
#include <stdlib.h>
#include <boost/regex.hpp>
#include <string>
#include <iostream>
usingnamespace std;
usingnamespace boost;
regex expression("^select ([a-zA-Z]*) from ([a-zA-Z]*)");
int main(int argc, char* argv[])
{
std::stringin;
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;
}
return0;
}

  

編譯:

g++ -g -Wall -O0 reg2.cc -o reg2 -lboost_regex

 

output*******

enter test string

select name from table

str :select name from table

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.