Так что ваш регулярное_выражение говорит:.
Матч с самого начала -^- ноль или более цифр - \ d * -, что, возможно, следуют точка и ноль или более цифр - ((\ d *))? - без ничего после - $, конец строки. Или - | - соответствовать началу строки, за которой следует конец строки -^$ -.
Что нужно изменить, это последняя часть. Вместо ^$
вы можете сопоставить ^\s*$
, который читается как «соответствуют началу строки, затем следуют ноль или более пробелов, а конец строки«. Таким образом, он соответствует как предыдущему условию (нулевые пробелы - от начала до конца), так и новому условию - с некоторыми пробелами.
Надеюсь, что это поможет лучше понять регулярное выражение. К сожалению, я не знаю хорошего ресурса для RegExp, я просто использую MDN.
Ваше существующее регулярное выражение уже избыточно, так как первая ветвь уже допускает пустой ввод ('*' разрешает ноль, '?' Делает другую деталь необязательной) ... –
у вас много вопросов и нет принятого ответа .. – mihai