I suspect this is what you're after. The regex part is:
new Regex(@"^\d{6}-\d{5} \w* ([^:]*): ")
And here's a short but complete test program:
using System;
using System.Text.RegularExpressions;
class Test
{
static void Main(string[] args)
{
Parse("000000-00000 Date First text: something1");
Parse("200000-00000 Time Second text: something2");
Parse("234222-34332 struc Third text: somthing3");
}
static readonly Regex Pattern = new Regex
(@"^\d{6}-\d{5} \w* ([^:]*): ");
static void Parse(string text)
{
Console.WriteLine("Input: {0}", text);
Match match = Pattern.Match(text);
if (!match.Success)
{
Console.WriteLine("No match!");
}
else
{
Console.WriteLine("Middle bit: {0}", match.Groups[1]);
}
}
}
Note that this doesn't assume "Date", "Time" "struc" are the only possible values after the digits, just that they'll be constructed from word characters. It also assumes you want to match against the whole line, not just the middle part. It's easy to extract the other sections with other groups if that would be helpful to you.