C# 如何使用正则表达式将此字符串解析为标记

C# 如何使用正则表达式将此字符串解析为标记,c#,.net,regex,C#,.net,Regex,我想分析以下字符串: "{Host=pc@ip}{Encoder=EncoderName}{Date=2014_8_5}{Resolution=90X90} {File=2014-8-5_11-50-50_189.jpeg}" 分成五个单独的字符串: "{Host=pc@ip}" "{Encoder=EncoderName}" "{Date=2014_8_5}" "{Resolution=90X90}" "{File=2014-8-5_11-50-50_189.jpeg}" 使用正则表达式。

我想分析以下字符串:

"{Host=pc@ip}{Encoder=EncoderName}{Date=2014_8_5}{Resolution=90X90}
{File=2014-8-5_11-50-50_189.jpeg}"
分成五个单独的字符串:

"{Host=pc@ip}"
"{Encoder=EncoderName}"
"{Date=2014_8_5}"
"{Resolution=90X90}"
"{File=2014-8-5_11-50-50_189.jpeg}"

使用正则表达式。

我认为这应该可以:

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

当然,你必须担心一些事情,比如你是否有嵌套的大括号,但是这个。我还添加了括号,因此如果需要,您应该能够在匹配中使用组。这是没有必要的,但我想你的花括号会妨碍你进一步进行解析。

MatchCollection matches=Regex.matches(message.MessageLabel,“{.+=.+}”);什么是字符串的“固定”部分,什么是正在变化的部分?这些变化部分的规则是什么?固定部分是{=}{=}…{=},变化部分是里面的文本。不难-
{[^}]*}
。使用Regex.MatchesThanks@ViktorBahtev,效果很好!