using System;
using System.Text .RegularExpressions ;
public class Test
{
public static void Main( )
{
string pattern = @"^((?:\d+(?:\.\d+)*|[A-Z]+))\.\s+(.+)" ;
string[ ] strings = {
"1. Title1 Contains Space and Characters" ,
"2. Title2 Contains Space and Characters" ,
"2.1. Title2.1 Contains Space and Characters" ,
"2.1.1. Title2.1.1 Contains Space and Characters" ,
"3. Title3 Contains Space and Characters" ,
"3.1. Title3.1 Contains Space and Characters" ,
"A. Title A Contains Space and Characters" ,
"B. Title B Contains Space and Characters" ,
"C. Title C Contains Space and Characters" ,
"Title which does not contains any Display Code"
} ;
foreach( var s in strings)
{
Match m = Regex.Match ( s, pattern) ;
if ( m.Success ) {
Console.WriteLine ( m.Groups [ 1 ] .Value ) ;
Console.WriteLine ( m.Groups [ 2 ] .Value ) ;
Console.WriteLine ( "------" ) ;
}
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CgpwdWJsaWMgY2xhc3MgVGVzdAp7CglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CgkJc3RyaW5nIHBhdHRlcm4gPSBAIl4oKD86XGQrKD86XC5cZCspKnxbQS1aXSspKVwuXHMrKC4rKSI7CiAgICAgICAgc3RyaW5nW10gc3RyaW5ncyA9IHsKICAgICAgICAJIjEuIFRpdGxlMSBDb250YWlucyBTcGFjZSBhbmQgQ2hhcmFjdGVycyIsCgkJCSIyLiBUaXRsZTIgQ29udGFpbnMgU3BhY2UgYW5kIENoYXJhY3RlcnMiLAoJCQkiMi4xLiBUaXRsZTIuMSBDb250YWlucyBTcGFjZSBhbmQgQ2hhcmFjdGVycyIsCgkJCSIyLjEuMS4gIFRpdGxlMi4xLjEgQ29udGFpbnMgU3BhY2UgYW5kIENoYXJhY3RlcnMiLAoJCQkiMy4gIFRpdGxlMyBDb250YWlucyBTcGFjZSBhbmQgQ2hhcmFjdGVycyIsCgkJCSIzLjEuICBUaXRsZTMuMSBDb250YWlucyBTcGFjZSBhbmQgQ2hhcmFjdGVycyIsCgkJCSJBLiAgVGl0bGUgQSBDb250YWlucyBTcGFjZSBhbmQgQ2hhcmFjdGVycyIsCgkJCSJCLiAgVGl0bGUgQiBDb250YWlucyBTcGFjZSBhbmQgQ2hhcmFjdGVycyIsCgkJCSJDLiAgVGl0bGUgQyBDb250YWlucyBTcGFjZSBhbmQgQ2hhcmFjdGVycyIsCgkJCSJUaXRsZSB3aGljaCBkb2VzIG5vdCBjb250YWlucyBhbnkgRGlzcGxheSBDb2RlIgogICAgICAgIAl9OwogICAgICAgIGZvcmVhY2godmFyIHMgaW4gc3RyaW5ncykKCQl7CgkJICAgIE1hdGNoIG0gPSBSZWdleC5NYXRjaChzLCBwYXR0ZXJuKTsKCQkgICAgaWYgKG0uU3VjY2VzcykgewoJCSAgICAJQ29uc29sZS5Xcml0ZUxpbmUobS5Hcm91cHNbMV0uVmFsdWUpOwoJCSAgICAJQ29uc29sZS5Xcml0ZUxpbmUobS5Hcm91cHNbMl0uVmFsdWUpOwoJCSAgICAJQ29uc29sZS5Xcml0ZUxpbmUoIi0tLS0tLSIpOwoJCSAgICB9CgkJfQoJfQp9