2013-10-11 80 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 = @"(\{\{.*?\}\})" 

括号是什么被捕获,包括{{}}