This is a bit clunk but should work:
CASE WHEN T.roll_no NOT LIKE '%[^0-9]%' THEN CAST(T.roll_no AS INT) ELSE NULL END
FROM Table AS T
This will look at each entry: if there are non-numeric characters in it, it will return null, otherwise, it will convert the string into an integer. MAX() will filter out the nulls, and return the maximum integer.
The only caveat is that if you have '14a' and '14b' without '14', then 13 will be returned as the max.