Perhaps this is intentional, or perhaps I have just misunderstood how to use the route class, but it seems that when combining named regexes with trailing wildcards, Route::wildcardArgs() does not return the correct values.
For example, for:
with route /testController/testAction/words/extra/fields :
If I change route to:
//returns array('extra', 'fields'), as intended.
Good point. This is due to the way URLs are matched internally. It constructs one long regular expression to match against the URL, with wildcards being captured by a capture group. In your pattern, you are adding a capturing group yourself, which messes this process up. It should work (not tested) if you change your pattern to a non-capturing group:
This is a case which the readme warns against as non-trivial regexen... :)
Fixing #6, grouping expressions with wildcard args in pattern.
I committed a change that should allow grouping expressions together with wildcards.
Thanks for the report!