Optimize the regex used to match component values
Optimize the regex used to match component values

The regex used in units.py is huge, applied to all components many
times and compiled every time.

This patch uses a global variable to compile it once and reuse the
compiled regex.

SchrodingersGat/KiBoM,SchrodingersGat/KiBoM