[java] “0을 제외한 모든 양의 정수”의 정규식은 무엇입니까?

^\d+$허용하지 않도록 개선 할 수 있는 방법은 0무엇입니까?

편집 (더 구체적으로 작성) :

예 있도록 :
1
30
111
수 없도록 예 :
0
00
-22

앞에 0이있는 양수가 허용되는지 여부는 중요하지 않습니다 (예 🙂 022.

이것은 Java JDK Regex 구현을위한 것입니다.



답변

이 시도:

^[1-9]\d*$

… 그리고 30자를 초과하는 패딩 SO 대답 제한 :-).

여기 데모입니다


답변

늦게 와서 미안하지만 OP는 허용하길 원 076하지만 아마도 허용하고 싶지 않을 것입니다 0000000000.

따라서이 경우에는 0이 아닌 하나 이상의 숫자를 포함 하는 문자열이 필요합니다 . 그건

^[0-9]*[1-9][0-9]*$


답변

부정적인 예측 어설 션을 시도 할 수 있습니다.

^(?!0+$)\d+$


답변

이것을 시도하십시오. 이것은 요구 사항을 충족시키기 위해 가장 잘 작동합니다.

[1-9][0-9]*

다음은 샘플 출력입니다.

String 0 matches regex: false
String 1 matches regex: true
String 2 matches regex: true
String 3 matches regex: true
String 4 matches regex: true
String 5 matches regex: true
String 6 matches regex: true
String 7 matches regex: true
String 8 matches regex: true
String 9 matches regex: true
String 10 matches regex: true
String 11 matches regex: true
String 12 matches regex: true
String 13 matches regex: true
String 14 matches regex: true
String 15 matches regex: true
String 16 matches regex: true
String 999 matches regex: true
String 2654 matches regex: true
String 25633 matches regex: true
String 254444 matches regex: true
String 0.1 matches regex: false
String 0.2 matches regex: false
String 0.3 matches regex: false
String -1 matches regex: false
String -2 matches regex: false
String -5 matches regex: false
String -6 matches regex: false
String -6.8 matches regex: false
String -9 matches regex: false
String -54 matches regex: false
String -29 matches regex: false
String 1000 matches regex: true
String 100000 matches regex: true


답변

^\d*[1-9]\d*$

앞에 0으로 채워져 있어도 모든 양수 값을 포함 할 수 있습니다.

허용

1

01

10

11 등

허용하지 않습니다

0

00

000 등 ..


답변

0을 제외한 ^\+?[1-9]\d*$
모든 양의 정수 : 0을 포함한 모든 양의 정수 :^(0|\+?[1-9]\d*)$


답변

이거 있어요 :

^[1-9]|[0-9]{2,}$

누군가 이길까요? 🙂