There are two issues with your regex:
- You do not allow lowercase ASCII letters in the first capture group (add a-zor aRegexOptions.IgnoreCaseflag)
- The delimiting characters are missing in the pattern (<,>,[,], etc.)
Use
{(?<timestamp>[0-9a-zA-F]+)}\[(?<subsystem>\d+)]<(?<level>\d+)>(?<messagep>.+)
^                 ^^^      ^^^                 ^^             ^
See the regex demo
Since the messagep group should match just the rest of the line, I suggest just using .+ at the end. Else, you'd need to replace your [0-9A-Za-z]+ that does not allow whitespace with something like [\w\s]+ (match all word chars and whitespaces, 1 or more times).

C# code:
var s = @"{F971h}[0]<0>some result code: 1";
var pat = @"{(?<timestamp>[0-9a-zA-F]+)}\[(?<subsystem>\d+)]<(?<level>\d+)>(?<messagep>.+)";
var m = Regex.Match(s, pat);
if (m.Success)
{
    Console.Out.WriteLine(m.Groups["timestamp"].Value);
    Console.Out.WriteLine(m.Groups["subsystem"].Value);
    Console.Out.WriteLine(m.Groups["level"].Value);
    Console.Out.WriteLine(m.Groups["messagep"].Value);
}
Or for a multiline string containing multiple matches:
var s = "{F971h}[0]<0>some result code: 1\r\n{FA71h}[0]<0>some result code: 3\r\n{FB72h}[0]<0>some result code: 5";
var pat = @"{(?<timestamp>[0-9a-zA-F]+)}\[(?<subsystem>\d+)]<(?<level>\d+)>(?<messagep>[^\r\n]+)";
var res = System.Text.RegularExpressions.Regex.Matches(s, pat)
     .Cast<System.Text.RegularExpressions.Match>()
     .Select(x => new[] { 
            x.Groups["timestamp"].Value, 
            x.Groups["subsystem"].Value,
            x.Groups["level"].Value,
            x.Groups["messagep"].Value})
      .ToList();
