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