我有一个像这样的字符串
ha regular{{patou0383838}}but if{{coffee}}i love {{tomato}}
我需要在c#中使用正则表达式来帮助我提取所有以{{
开头并以}}
结尾的文字。因此,例如在上面的示例中,我应该能够拥有一组3个子字符串
{{patou0383838}}
{{coffee}}
{{tomato}}
我尝试了我在网上找到的各种例子,但他们没有解决我的问题。
答案 0 :(得分:1)
您可以尝试这样:
\{{.*?\}}
或
\{\{.*?\}\}
答案 1 :(得分:0)
如果您的令牌肯定不会像{{token
那样嵌套,您可以使用\{\{([^}]+)\}\}
}}
1
大括号内的文字被捕获为组{{coffee}}
。例如,对于像coffee
这样的匹配,组1会保留{}
。
<小时/> 虽然大括号
{m,n}
用于指定像{{([^}]+)}}
这样的正则表达式中的范围,但除非另有说明,否则它们不会被视为特殊字符。因此,我们可以通过不将它们转义为来简化正则表达式
{{1}}
答案 2 :(得分:0)
{
和}
是正则表达式中的特殊字符,因此需要对其进行转义。此外,由于您可以在一行中有多个匹配,因此您需要进行非贪婪的匹配。模式将类似于
string pattern = @"(\{\{.*?\}\})"
括号是捕获的内容,包括{{
和}}