using System.Text.RegularExpressions;
public static void Main()
string input = @"12345678
[A-Za-z]&([0-9]|[speacial])";
string pattern = @"(?=.*[\d])(?=.*[A-Z])(?=.*[a-z])(?=.*[!""#$%&\'()*+,-.\/:;<=>?@[\]^_`{|}~])[\w\d!""#$%&\'()*+,-.\/:;<=>?@[\]^_`{|}~]{8,40}";
var watch1 = new System.Diagnostics.Stopwatch();
Match m = Regex.Match(input, pattern);
Console.WriteLine("RegEx parser {0}", watch1.Elapsed);
Console.WriteLine("Hello World");
public static void parse(string input)
var watch = new System.Diagnostics.Stopwatch();
var parserState = new ParserState();
foreach (var ch in input)
if (code > 64 && code < 91 || code > 96 && code < 123)
else if (code > 47 && code < 58)
Console.WriteLine("parser {0}", watch.Elapsed);
public int alphabet { get; set; }
public int numberic { get; set; }
public int symbol { get; set; }