2009-10-26 2 views
5

숫자 값만 허용하고 공백은 허용하지 않는 정규식을 찾고 있습니다. 나는 현재 사용하고 있습니다 : 잘 작동.NET Regex, 숫자 만 공백 없음

^(0|[1-9][0-9]*)$ 

을하지만, 그것은 단지 공간 구성 값을 받아들입니다. 그게 뭐가 잘못 되었 니?

+0

합니까 \ d 개 + 작업을 작동? 하나 이상의 숫자 시퀀스와 일치해야합니다. – hashable

답변

14

이유는 *이 0 이상을 허용하는 이유입니다. 순전히 빈 문자열은 0 개의 숫자를 가지므로 요구 사항을 충족시킵니다. 1 개 이상이 필요하므로 대신 +을 사용하십시오. 여기

^(0|[1-9][0-9]+)$ 

편집 앤드류스 더 강력하고 간단한 해결책이다.

^\d+$ 
+2

+1 너무 빠릅니다! :) –

+0

빠른 답변을 건네 주지만 여전히 공백 만있는 문자열을 전달합니다. ( –

+1

제안 된 정규 표현식 '^ (0 | [1-9] [0-9] +) $'는 더 큰 숫자를 지원하지 않습니다 0보다 작고 10보다 작음 –

0

이 정규식 perfecttly

^\d*[0-9](|.\d*[0-9])?$ 
+1

소수점은 "숫자가없고 공백이 없습니까?" 질문자가 정수 만 있으면되고 공백이 없으면 질문 제목에이를 반영해야하며 현재로서는 질문을 그 결과로 downvote하려는 경향이 있습니다. – mrmillsy