Вы можете достичь этого без регулярных выражений, просто используйте строковые функции (IndexOf()
и Substring()
):
Поскольку вы обрабатываете фиксированный шаблон [XXXX_BBBB]_YYYY-MM-DD[.fileExtension]
, просто получите 10 символов, расположенных после второго подчеркивания.
public void Main()
{
string filename = "Sales_person_2019-05-03.xlsx";
// Get the Date part from the file name only
string filedate = filename.Substring(filename.IndexOf('_',filename.IndexOf('_') + 1) + 1,10);
DateTime dt = DateTime.ParseExact(filedate, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None)
Dts.TaskResult = (int)ScriptResults.Success;
}