using System; using System.Text.RegularExpressions; public class Test { public static void Main() { string msg= "=?windows-1258?B?UkU6IFRyIDogUGxhbiBkZSBjb250aW51aXTpIGQnYWN0aXZpdOkgZGVz?= =?windows-1258?B?IHNlcnZldXJzIFdlYiBHb1ZveWFnZXN=?="; var charSetOccurences = new Regex(@"=\?(.*?)\?([BQ])\?(.*?)\?=", RegexOptions.IgnoreCase); MatchCollection matches = charSetOccurences.Matches(msg); foreach (Match match in matches) { Console.WriteLine("Charset: " + match.Groups[1].Value); Console.WriteLine("Encoding type: " + match.Groups[2].Value); Console.WriteLine("Encoded String: " + match.Groups[3].Value + "\n"); } } }