Это всего лишь 16-ти символьное требование с дополнительными 2-мя символами впоследствии:
^[A-Fa-f0-9]{16}([A-Fa-f0-9]{2})?$
Скобки, возможно, не требуются - я не достаточно гуру регулярных выражений, чтобы бояться, я боюсь. Если кто-то хочет отредактировать его, не стесняйтесь ...