Нужно сделать регэкс, который будет признавать валидным или пустую строку, или строку, состоящую ровно из 3 цифр. Пишу на
https://regex101.com/ такое
^(\d{0})|(\d{3})$
Натравливаю на 999999 — считает валидным. Натравливаю на 999 — тоже валидное. Натравливаю на 9 и на пустую строку — снова все валидное. Что за хрень и как мне переписать его правильно?