If I understand what you're asking for, you might try a pattern like this:
(?<=\.)(?!\.)|\n
This will split the string on any position which is preceded by a .
but not followed by a .
or a \n
character.
Note that this pattern preserves any whitespace after the dots, for example:
var input = @"line1. line2.. line3... line4.... line5..... line6\nline7";
var output = Regex.Split(input, @"(?<=\.)(?!\.)|\n");
Produces
line1.
line2..
line3...
line4....
line5.....
line6
line7
If you'd like to get rid of the whitespace simply change this to:
(?<=\.)(?!\.)\s*|\n
But if you know that the dots will always be followed by whitespace, you can simplify this to:
(?<=\.)\s+|\n