You may also want to look at Fare.
It is a .NET port of the well established Java library dk.brics.automaton with API as close as possible to the corresponding dk.brics.automaton classes.
It even includes a .NET port of Xeger, for generating random text from regular expressions.