Для начала можно посмотреть, как это делается в других готовых компонентах
-
www.codeproject.com/Articles/161871/Fast-Colored-T...
-
codesharper.codeplex.com
-
stackoverflow.com/questions/2973861/open-source-c-...
-
stackoverflow.com/questions/1697360/how-to-syntax-...
А если говорить про серьёзные IDE, то в них конечно же делается не regexp'ами, а проводится постоянный разбор текста и построение синтаксического дерева, поскольку это помимо подсветки синтаксиса даёт ещё и "понимаение" кода (какие есть классы, методы и т.д.).
Сейчас на .NET 4.5 можно воспользоваться Roslyn:
sergeyteplyakov.blogspot.ru/2015/03/syntax-highlig...