Estoy atascado. ¿Por qué el grupo path
en este código tiene el valor 2/3/4, no 1/2/3/4? ¿Dónde 1/ ir? ¿Qué parte de la expresión coincide con 1/?Regexes (dialecto .NET): comportamiento extraño de un grupo de captura
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");
Esto vuelca "1/2/3/4/5" y luego "1/2/3/4" para mí ... –
@Jon Skeet, me está dando '" 2/3/4 "' para el Ruta, también – bdukes
Aquí hay una captura de pantalla de LINQPad: http://screencast.com/t/dfnJyMLQi9 – thorn