Good point, I will look to a regexp-based parsing with the detection of the central part '_<num>_'.
However, as Caleb said, there is not ideal solution.
A approach could be to filter bad properties by checking the detected classname (is it a classname?) and checking the property name (is it a property of classname?); if one of these checks breaks, just ignore the parameter (considering that the devs is dumb trying to have strange class names or strange property names).
By default, I'll probably choose to a avoid underscores in class names, sounds good,