Мне нужно регулярное выражение, сопоставляющее имена аргументов и их типы сигнатур функций, например. для следующей подписи
void f(const type1& arg1, type2 arg2, type3* const arg3);
я ожидал бы получить:
- const type1 &
- arg1
- type2
- arg2
- type3 * const
- arg3
Возможно ли это? Я пробовал с
(\w+)\s(\w+)\((([\w\*\&\s]*)\,?)*\)\;
, но по какой-то причине это не работает.