Jakie jest wyrażenie regularne do analizowania poszczególnych zdań?

Szukam dobrego wyrażenia regularnego .NET, którego mogę użyć do analizowania pojedynczych zdań z tekstu.

Powinien być w stanie przeanalizować następujący blok tekstu w dokładnie sześć zdań:

Hello world! How are you? I am fine.
This is a difficult sentence because I use I.D.

Newlines should also be accepted. Numbers should not cause  
sentence breaks, like 1.23.

To okazuje się nieco trudniejsze niż początkowo sądziłem.

Każda pomoc byłaby bardzo mile widziana. Zamierzam użyć tego do szkolenia systemu na znanych tekstach.

questionAnswers(6)

yourAnswerToTheQuestion