^([^/#"']|/([^/"']|"([^"]|\\")*"|'(\\[\'nt]|[^\'])')|"([^"]|\\")*"|'(\\[\'nt]|[^\'])')*(((((((((([_a-zA-Z0-9]o|[^o]|^)p|[^p]|^)e|[^e]|^)r|[^r]|^)a|[^a]|^)t|[^t]|^)o|[^o]|^)r|[^r]|^)[!=]|[^!=]|^)=|[^] "'_a-zA-Z0-9>=]|return|^) *\( *((const|enum|long|(un)?signed|short|struct) +)*([_a-zA-Z][_a-zA-Z0-9]* *::)* *[_a-zA-Z][_a-zA-Z0-9]* *((const)? *\* *)*(const *)?\) *[^].:,;{)=<>|?! */%+-]
