2013-10-11 102 views
0

從字符串subsring我有這樣提取使用正則表達式

ha regular{{patou0383838}}but if{{coffee}}i love {{tomato}} 

一個字符串,我需要在C#中的正則表達式,這將有助於我解壓開始{{}}結束的所有文本。因此,例如在上面的例子中,我應該能有一組3個個子串

{{patou0383838}} 
{{coffee}} 
{{tomato}} 

我想,我在網上找到各種例子,但它們並沒有解決我的問題。

+4

讓我們看看一個例子......你嘗試過(甚至自己創建),並we'll很高興幫你。 – TheBlastOne

回答

1

你可以嘗試這樣的:

\{{.*?\}} 

\{\{.*?\}\} 
0

如果您的令牌是肯定要永遠嵌套像{{token {{1}}}}可以使用

\{\{([^}]+)\}\} 

內包圍的文本大括號1被捕獲。例如,對於像{{coffee}}這樣的比賽,組1將持有coffee


雖然括號 {}用於在像 {m,n}當包括否則它們不被視爲特殊字符正則表達式來指定範圍。因此,我們可以通過不逃避他們作爲

{{([^}]+)}} 
+0

這工作得很好:) – EvilBob22

0

{}在正則表達式的特殊字符簡化正則表達式,所以它們需要進行轉義。此外,由於您可以在一行中進行多次比賽,因此您需要進行非貪婪的比賽。該模式將是這樣

string pattern = @"(\{\{.*?\}\})" 

括號是什麼被捕獲,包括{{}}