在正则表达式中匹配{{string}} c#

Ale*_*x J 6 c# regex

什么是匹配两个大括号内的字符串的正则表达式,如

{{string}}
Run Code Online (Sandbox Code Playgroud)

结果应该是string.

我是否必须逃避两个大括号?

DeC*_*Caf 7

不,实际上以下应该可以正常工作:

"{{([^}]*)}}"
Run Code Online (Sandbox Code Playgroud)

编辑: 正如dtb所指出的,上面的表达式对于包含}双括号内的单个字符串的字符串失败.要处理这种情况,以下示例可以做得更好:

"{{((?:}(?!})|[^}])*)}}"
Run Code Online (Sandbox Code Playgroud)

编辑2:最简单的解决方案可能是以下内容:

"{{(.*?)}}"
Run Code Online (Sandbox Code Playgroud)