I do read the entire file in line by line, and store it in a list, line by line. I then run that list against another list of RegExs. Currently it is still slow, although faster then before. Mostly when I have a RegEx where I want it to match Alpha, but not Beta.
IE:

"Blah Blah Alpha foo loo" - match
"Blah Alpha Foo Loo Doo Beta Zoo" - no match.

Those are still slow.