Although you should preferably go for URL related classes for parsing a URL as explained in another answer, as builtin functions are proven and well tested for handling even the corner cases, but as you mentioned you have some limitation and can only use a regex solution, you can try with following solution.
Finding sixth or Nth segment can be easily done using this regex,
(?:([^/]+)/){7}
which captures 6+1 (N+1 in general for Nth segment where +1 is for matching domain part of URL) segments and the group retains the last captured value which can be accessed using group1.
Here, ([^/]+) matches one or more any characters except a / and captures the content in group1 followed by / and whole of it matching exactly 7 times.
Regex Demo
C# code demo
var pattern = "(?:([^/]+)/){7}";
var match = Regex.Match("/domain.com/segment1/segment2/segment3/segment4/segment5/segment6/segment7/filename.ext", pattern);
Console.WriteLine("Segment: " + match.Groups[1].Value);
match = Regex.Match("http://someother.com/segment1/segment2/segment3/segment4/segment5/segment6/segment7/filename.ext", pattern);
Console.WriteLine("Segment: " + match.Groups[1].Value);
Prints the value of sixth segment,
Segment: segment6
Segment: segment6
Uriclass designed specifically for parsing out URIs. Regular Expressions don't strike me as the right tool for this job.new Uri(...).LocalPath.Split('/')[6]is far more reliable than Regex.