private static void CheckUniquelyDecodability() { string expression; while (true) { Console.Write("Enter the regular expression of the code: "); expression = Console.ReadLine(); Regex validExpression = new Regex(@"^[\w\(\)\|\*]*$"); bool expressionIsValid = validExpression.IsMatch(expression); if (!expressionIsValid) { Console.WriteLine("Expression is invalid."); continue; } Patterson code = new Patterson(expression); bool isUniquelyDecodable; try { isUniquelyDecodable = code.IsUniquelyDecodable(); } catch (Exception) { Console.WriteLine("Expression is invalid."); continue; } Console.WriteLine("Result: The code is {0}uniquely decodable.", (isUniquelyDecodable) ? "" : "not "); return; } }