Utknąłem. Dlaczego grupa path
w tym kodzie ma wartość 2/3/4, a nie 1/2/3/4? Gdzie było 1/? Która część wyrażenia pasuje do 1/?Regeksy (dialekt .NET): dziwne zachowanie przechwytywania grupy
var re = new Regex(@"^-/?(?'folder'((?'path'.+?)/)??[^/]*)/?$");
var m = re.Match("-1/2/3/4/5");
m.Groups["folder"].Value.Dump("Folder");
m.Groups["path"].Value.Dump("Path");
To zrzuca "1/2/3/4/5", a następnie "1/2/3/4" dla mnie ... –
@Jon Skeet, daje mi '" 2/3/4 "' za Ścieżka też – bdukes
Oto zrzut ekranu LINQPad: http://screencast.com/t/dfnJyMLQi9 – thorn