I think that would be one way. You would have to assume that the only periods in your input are for sentence endings, not for abbreviations (st. mt. ms.) or numbers (3.14) or email addresses (firstname.lastname@example.org).
Barring those annoyances, you could check for the first non-whitespace character after a period and make that a capital.
Well obviously a period(.) indicates the end of a line. You can try it this way:
1) Check for period at the end of a word. So go word by word and check if a word ends with a period, for example "I am a VB.NET programmer." In this case we found "programmer." A word here means a series of characters without a space in between.
2) Now check if the character after the period[.] is a space. If it's a space and followed by an uppercase character then it's safe to assume the end of the line in most cases where the typing is standard.
I'm not sure if you can do this using regular expressions ..