2013-01-01 66 views
0

正常工作,我一直在尋找了地方與C++正則表達式來工作,因爲我想學習在C正則表達式++(請給我一步步的鏈接還,如果你們有任何)。我使用g ++編譯我的程序並在Ubuntu中工作。 早些時候我的計劃沒有編制,但後來我看到這篇文章的地方說通過 「G ++ -std =的C++ 0x sample.cpp的」 編譯程序使用正則表達式頭。 我的第一個程序正常工作,我想實現regex_match正則表達式庫不是在C++

#include<stdio.h> 
#include<iostream> 
#include<regex> 
using namespace std; 

int main() 
{ 
string str = "Hello world"; 
regex rx ("ello"); 

if(regex_match(str.begin(), str.end(), rx)) 
{ 
cout<<"True"<<endl; 
} 
else 
cout<<"False"<<endl; 
return(0); 
} 

針對我的程序返回false ...(因爲表達不完全匹配) 我也使它符合複檢它...它的工作原理。 現在我正在編寫另一個程序來實現regex_replace和regex_search。這兩者不工作(用於regex_search只需更換regex_match與regex_search上述程序。好心help.I不知道在哪裏我得到錯誤的。

+1

你告訴我們,你說工作正常,然後問我們爲什麼其他代碼不起作用的代碼,但你不告訴我們的代碼,你能想到的東西,可以幫助我們猜測這有什麼錯,其他的代碼? –

+0

我告訴你只是regex_search取代regex_match ..後者應返回true,但它不是...... – Worlock

回答

2

<regex>頭不能完全由GCC支持。

你可以看到GCC支持here

+0

所以應該是什麼那麼解決方案呢?我必須停止使用GCC來使用正則表達式嗎? – Worlock

+0

@Worlock的Visual Studio 2012支持'',你也有提振正則表達式。 – Rapptz

+0

感謝Rapptz的信息,但我想使用GCC,併爲GCC增強正則表達式?如果是的話,你可以給我指導來安裝boost,並使其與gcc兼容。 – Worlock