Cette fois-ci, le problème est résoluble très simplement grâce à Groovy.

https://gist.github.com/264676

Entre la sous-chaîne extraite d'un grand coup de range dans un tableau, le inject) et le findAll), c'est quand même la fête !