using System;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
string[] strings = {"msl_0123456789_otherstuff.csv", "msl_test.xml","anythingShort.w1", "123456testxxxxxxxx"};
string pattern = @"^(?:msl_)?(\S{1,10})\S*\.[^\W_]{2,}$";
foreach (String s in strings) {
Match match = Regex.Match(s, pattern);
if (match.Success)
{
Console.WriteLine(match.Groups[1]);
}
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CgpwdWJsaWMgY2xhc3MgVGVzdAp7CglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CgkJc3RyaW5nW10gc3RyaW5ncyA9IHsibXNsXzAxMjM0NTY3ODlfb3RoZXJzdHVmZi5jc3YiLCAibXNsX3Rlc3QueG1sIiwiYW55dGhpbmdTaG9ydC53MSIsICIxMjM0NTZ0ZXN0eHh4eHh4eHgifTsKICAgICAgICBzdHJpbmcgcGF0dGVybiA9IEAiXig/Om1zbF8pPyhcU3sxLDEwfSlcUypcLlteXFdfXXsyLH0kIjsKICAgICAgICBmb3JlYWNoIChTdHJpbmcgcyBpbiBzdHJpbmdzKSB7CiAgICAgICAgICAgIE1hdGNoIG1hdGNoID0gUmVnZXguTWF0Y2gocywgcGF0dGVybik7CiAgICAgICAgICAgIGlmIChtYXRjaC5TdWNjZXNzKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZShtYXRjaC5Hcm91cHNbMV0pOwogICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgIH0KCX0KfQ==