Невозможно использовать регулярные выражения для анализа естественного языка. Каков конец предложения? Период может происходить во многих местах (например, например). Вы должны использовать инструментарий синтаксического анализа на естественном языке, такой как OpenNLP или NLTK. К сожалению, в C # существует очень мало предложений. Поэтому вам, возможно, придется создать веб-сервис или иным образом ссылку на C #.
Обратите внимание, что в будущем это вызовет проблемы, если вы будете использовать точные пробелы, как в "I.D.". Вскоре вы найдете примеры, которые нарушают ваше регулярное выражение. Например, большинство людей ставят пробелы после своих данных.
В WP содержится превосходное резюме открытых и коммерческих предложений (http://en.wikipedia.org/wiki/Natural_language_processing_toolkits).. Мы использовали несколько из них. Это стоит усилий.
[Вы используете слово «поезд». Обычно это связано с машинным обучением (который является одним из подходов к НЛП и используется для разделения предложений). Действительно, наборы инструментов, которые я упоминал, включают машинное обучение. Я подозреваю, что это было не то, что вы имели в виду - скорее, вы бы развивали свое выражение посредством эвристики. Не!]