Может кто-то помогать мне создать этот regex. Мне нужен он для проверки, чтобы видеть, является ли строка или полностью (пустым) пробелом или если это только содержит положительные целые числа. Если что-либо еще это перестало работать. Это - то, что я имею до сих пор.
/^\s*|[0-9][0-9]*/
Вы ищете:
/^(\s*|\d+)$/
Если вам нужно положительное число без начальных нулей, используйте [1-9][0-9]*
Если вас не волнуют пробелы вокруг числа, вы также можете попробовать:
/^\s*\d*\s*$/
Обратите внимание, что вы не хотите разрешать частичное сопоставление, например, 123
abc
, поэтому вам нужны начальные и конечные привязки: ^...$
.
Ваш regex имеет распространенную ошибку: ^s*|d+$
, например, не применяет целое соответствие, так как это то же самое, что и (^s*)| (d+$)
, чтение, пробелы в начале или цифры в конце.
Вы можете попробовать-
/^\d*$/
Чтобы совпадение с пробелом-
/^[\s\d\s]*$/
У Kobi есть хороший ответ, но технически вам не нужно захватывать его (если вы не собираетесь делать что-то на выходе)
/^[\s\d]+$/
Или если вам все равно, если строка полностью пуста (т.е. "")
/^[\s\d]*$/
Чтобы уточнить, я понял исходный вопрос так, что пробельные символы в строке должны игнорироваться.