2013-05-28 57 views
0

我有一個字符串"SolutionAN ANANANA SolutionBNabcabcSolutionX",我想返回所有以Solution開頭的字符串,並在子字符串Solution之前結束。Boost C正則表達式 - 如何返回所有匹配

使用boost::regex時,我無法對其進行正則表達式。

我想要得到SolutionAN ANANANA,SolutionBNababcSolutionX作爲輸出。我是新的正則表達式在提升,任何幫助將不勝感激。

回答

1

你可以使用這個表達式

(?s)Solution.*?(?=Solution|$) 

.*?將匹配0到多個字符懶洋洋地即它吃盡可能少。 沒有?它會變得貪婪和儘可能吃。

x(?=yz)是一個超前其中x只有在後面YZ

$匹配是字符串的結尾


.默認情況下將不匹配換行符character..You應該使用(?s)在正則表達式或使用mod_s選項導致.匹配換行符

+0

我認爲這個正則表達式不能通過,而字符串包含i ng像輸入一樣的新行字符:解決方案Avc \ n mn Solutionxy然後它將輸出作爲解決方案Avc和Solutionxy,而我想輸出作爲解決方案Avc \ n mn和Solutionxy –

+0

請問如何使用match_no_dot_null選項? –

+0

我不認爲這是解決問題:/ –

相關問題