Regex.Split
не то, что вам нужно. Эквивалент =~ /.../
равен Regex.Match
.
Однако, Regex.Match
не имеет эквивалента $`
или $'
в Perl, поэтому вам нужно использовать обходной путь, но я думаю, что это справедливо:
var m = Regex.Match(work, @"^(.*?)(\<[0-9][0-9][0-9]\>)(.*)$", RegexOptions.Singleline);
if (m.Success)
{
left = m.Groups[0].Value;
match = m.Groups[1].Value; // perhaps with Convert.ToInt32()?
work = m.Groups[2].Value;
}
Кроме того, вы можете использовать индекс совпадения и длину, чтобы получить материал:
var m = Regex.Match(work, @"^\<[0-9][0-9][0-9]\>");
if (m.Success)
{
left = work.Substring(0, m.Index);
match = m.Value; // perhaps with Convert.ToInt32()?
work = work.Substring(m.Index + m.Length);
}