var matches = Regex.Matches("abcde", "(?:ab(c))(d)").Cast<Match>().ToList();
In this scenario https://regex101.com/ will tell that 'c' and 'd' were matched. But .Net will say that there is a group 'abcd' that has one capture 'abcd'.
How to set .net's regex to ignore non-capturing groups but return the inner group capture. (it would be great to let it be a solution that allows nesting because I create my regex expression recursively from a tree structure of objects).
Thanks.