^(?=.*[0-9])(?=.*[A-z])[0-9A-z-]{17}$
Должно совпадать "17 буквенно-цифровых символов, допустимые дефисы, должны содержать хотя бы одну букву и хотя бы одно число"
Он будет правильно соответствовать:
ABCDF31U100027743
и правильно отклониться:
AB$DF31U100027743
(и почти любой другой не-буквенно-цифровой char)
но, по-видимому, позволит:
AB^DF31U100027743