Hello,
I think the regex syntax should be
regex(., ‘^[0-9]{3}$’) and (. >= 1).
The syntax form of your example works, but is not the normal regex style
[001-999]{3} doesn’t mean a (grouped) sequence “001” … to “999” (repeated 3 times). Instead it means that the single characters 0, 1 … 9 are allowed, with a total of 3 times/characters.
Also, as far as I tested, the >= 001 is internally converted to >= 1. (You may try with >= 000001 e.g.)
Side-note: IDs might be designed with starting at 1nn, like 100 (or 101)… - 999. So, integer type could be used without having leading zero issues.
Kind regards