using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text.RegularExpressions; public class Test { public static void Main() { var s = @"{F971h}[0]<0>some result code: 1"; var pat = @"{(?[0-9a-zA-F]+)}\[(?\d+)]<(?\d+)>(?.+)"; 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); } } }