Assume by '9' you mean any number rather than always a 9. Did you try multiple regex statements with OR statements?
match_regex($post_code, '[A-Z]{1}[0-9]{1}\s[0-9]{1}[A-Z]{2}', NULL) OR
match_regex($post_code, '[A-Z]{1}[0-9]{2}\s[0-9]{1}[A-Z]{2}', NULL) OR
match_regex($post_code, '[A-Z]{2}[0-9]{1}\s[0-9]{1}[A-Z]{2}', NULL) OR ... etc