No se ve el link, pero pense que querias solucionar un problema especifico, y no uno mas general.
C# (y java) ya tienen su propio metodo para resolver expresiones regulares:
Regex.
Aqui una buena explicacion. Esta
otra tambien esta buena y es un poco mas general.
Ahora, que si quieres realizar tu propio algoritmo, empieza a buscar en google porque eso ya es bastante mas elaborado dependiendo el alcance de tu proyecto. Si ya leiste el
articulo de wikipedia y quieres mas ,
este articulo es un buen punto a seguir.
saludos,