separate clean & realclean targets
supply match_struct as reference parameter
test regex matching
fix get_substring call (match_struct as ref)