using System;
using System.Collections .Generic ;
using System.Text ;
using System.Text .RegularExpressions ;
namespace ConsoleApplication58
{
class Program
{
static void Main( string[ ] args)
{
Regex r = new Regex( @"(.+?)((?:\.{3} |[:;!?](?!/)|\. )(?:\r )*\s*|(?:\r )+\s*|$)" ) ;
string lorem = "---Lorem ipsum dolor sit amet, consectetur adipiscing elit. " +
"Mauris euismod : " +
"tristiquetellus non egestas; " +
"Pellentesque fermentum lectus orci ! " +
"A dictum nunc placerat sed ? " +
"Quisque eget felis in lacus \r " +
"cursus posuere\r \r " +
"Aliquam venenatis\r " +
"nisi vitae dictum pharetra. " +
"---Vivamus semper dolor quam, pellent.esque hendrerit sapien blandit ut. \r \r \r \r " +
"Cras sem massa, tempor sit amet nunc id, condimentum facilisis augue... \r " +
"https://www.google.com dictum nunc placerat sed" ;
MatchCollection m2 = r.Matches ( lorem) ;
foreach ( Match match in m2)
{
string txt = match.Groups [ 1 ] .Value + match.Groups [ 2 ] .Value ;
Console.WriteLine ( "*{0}*" , txt) ;
}
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRleHQ7CnVzaW5nIFN5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9uczsKCm5hbWVzcGFjZSBDb25zb2xlQXBwbGljYXRpb241OAp7CiAgICBjbGFzcyBQcm9ncmFtCiAgICB7CiAgICAgICAgc3RhdGljIHZvaWQgTWFpbihzdHJpbmdbXSBhcmdzKQogICAgICAgIHsgICAgICAgICAgICAKICAgICAgICAgICAgUmVnZXggciA9IG5ldyBSZWdleChAIiguKz8pKCg/OlwuezN9IHxbOjshP10oPyEvKXxcLiApKD86XHIpKlxzKnwoPzpccikrXHMqfCQpIik7CgogICAgICAgICAgICBzdHJpbmcgbG9yZW0gPSAiLS0tTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gIiArCiAgICAgICAgICAgICAgICAiTWF1cmlzIGV1aXNtb2QgOiAiICsKICAgICAgICAgICAgICAgICJ0cmlzdGlxdWV0ZWxsdXMgbm9uIGVnZXN0YXM7ICIgKwogICAgICAgICAgICAgICAgIlBlbGxlbnRlc3F1ZSBmZXJtZW50dW0gbGVjdHVzIG9yY2kgISAiICsKICAgICAgICAgICAgICAgICJBIGRpY3R1bSBudW5jIHBsYWNlcmF0IHNlZCA/ICIgKwogICAgICAgICAgICAgICAgIlF1aXNxdWUgZWdldCBmZWxpcyBpbiBsYWN1cyBcciIgKwogICAgICAgICAgICAgICAgImN1cnN1cyBwb3N1ZXJlXHJcciAiICsKICAgICAgICAgICAgICAgICJBbGlxdWFtIHZlbmVuYXRpc1xyICIgKwogICAgICAgICAgICAgICAgIm5pc2kgdml0YWUgZGljdHVtIHBoYXJldHJhLiAiICsKICAgICAgICAgICAgICAgICItLS1WaXZhbXVzIHNlbXBlciBkb2xvciBxdWFtLCBwZWxsZW50LmVzcXVlIGhlbmRyZXJpdCBzYXBpZW4gYmxhbmRpdCB1dC4gXHJcclxyXHIiICsKICAgICAgICAgICAgICAgICJDcmFzIHNlbSBtYXNzYSwgdGVtcG9yIHNpdCBhbWV0IG51bmMgaWQsIGNvbmRpbWVudHVtIGZhY2lsaXNpcyBhdWd1ZS4uLiBcciIgKwogICAgICAgICAgICAgICAgImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20gZGljdHVtIG51bmMgcGxhY2VyYXQgc2VkIjsKCiAgICAgICAgICAgIE1hdGNoQ29sbGVjdGlvbiBtMiA9IHIuTWF0Y2hlcyhsb3JlbSk7CgogICAgICAgICAgICBmb3JlYWNoIChNYXRjaCBtYXRjaCBpbiBtMikKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgc3RyaW5nIHR4dCA9IG1hdGNoLkdyb3Vwc1sxXS5WYWx1ZSArIG1hdGNoLkdyb3Vwc1syXS5WYWx1ZTsKICAgICAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCIqezB9KiIsIHR4dCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0=