Что-то вроде этого должно работать:
[a-zA-Z0-9]{15,18}
Было высказано предположение, что это может быть более правильным, поскольку оно предотвращает отклонение идентификаторов длиной 16 и 17 символов, также мы пытаемся сопоставить 18 символовдлина первая с длиной 15 в качестве запасного варианта:
[a-zA-Z0-9]{18}|[a-zA-Z0-9]{15}