Rick,
No need '.*' , just 'age$' is enough.
But need watch the trail blanks of variable ,
Here I used STRIP() ,while you used RIGHT() .

data _null_;
input name $20.;
if prxmatch('/age$/i',strip(name)) then flag='Y';
else flag='N';
put (_all_) (:) ;
cards;
Tom_age
Arthur_Age
King_AAA
;