Q:

C# Regular expression pattern what this matches for

Can sombody explain what this regex will check for
Regex x = new Regex("{([^}]+)}");

A:

It looks for a {...} with some (1 or more) non-} inside.  If successful it puts the content of the {...} in capture group 1. 
Regex x = new Regex("{([^}]+)}");
var m = x.Match("{Hello}");

string str0 = m.Groups[0].ToString(); // {Hello}
string str1 = m.Groups[1].ToString(); // Hello

Group 0 is always the whole match. 
var m2 = x.Match("{}");
var success = m2.Success; // false

It isn't anchored, so it could have more than one match for each string...
var m2 = x.Matches("{Hello}{}{World}");
int c = m2.Count; // 2 matches.  The {} wasn't a match, {Hello} and {World} were

As a sidenote, if you think this is the beginning for a good C# parser, you are on the wrong road :-) Expressions like { { string str = "Hello"; } str += "x"; } will confuse this regex, so expressions like { string str = "}" }.  This is a stackless regex.  No fancy tricks.