Program Tip

이 정규식에 음수 십진수를 어떻게 포함합니까?

programtip 2020. 10. 22. 22:20
반응형

이 정규식에 음수 십진수를 어떻게 포함합니까?


이 정규식으로 음수를 어떻게 일치시킬 수 있습니까? 이 정규식은 양수 값으로 잘 작동하지만 음수 값 (예 : -10, -125.5 등)도 허용하고 싶습니다.

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

감사


다음을 추가하여 시작 부분에 선택적 하이픈을 추가해야합니다 -?( ?1 회 또는 0 회 발생을 의미 하는 수량 자입니다 ).

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

다음 값으로 Rubular에서 확인했습니다.

10.00
-10.00

둘 다 예상대로 일치했습니다.


몇 가지 정규식 예 :

양의 정수 :

^\d+$

음의 정수 :

^-\d+$

정수 :

^-?\d+$

양수 :

^\d*\.?\d+$

음수 :

^-\d*\.?\d+$

양수 또는 음수 :

^-?\d*\.{0,1}\d+$

전화 번호 :

^\+?[\d\s]{3,}$

코드가있는 전화 :

^\+?[\d\s]+\(?[\d\s]{10,}$

1900-2099 년 :

^(19|20)[\d]{2,2}$

날짜 (dd mm yyyy, d / m / yyyy 등) :

^([1-9]|0[1-9]|[12][0-9]|3[01])\D([1-9]|0[1-9]|1[012])\D(19[0-9][0-9]|20[0-9][0-9])$

IP v4 :

^(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]){3}$

왜 그게 먼저 필요한지 모르겠어요 [0-9].

시험:

^-?\d*(.\d+)?$

최신 정보

자리에 숫자가 있는지 확인하려면 다음을 사용하십시오.

^-?\d+(.\d+)?$

이것은 숫자가 뒤에 오는 경우에만 -또는 +문자 를 허용합니다 .

 ^([+-](?=\.?\d))?(\d+)?(\.\d+)?$

UPDATED (13/08/2014) : 이것은 양수와 음수에 가장 적합한 코드입니다 =)

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

이 숫자로 시도하고 잘 작동합니다.

-1234454.3435
-98.99
-12.9
-12.34
-10.001
-3
-0.001
-000
-0.00
0
0.00
00000001.1
0.01
1201.0000001
1234454.3435
7638.98701

이것은 양의 정수와 음의 정수를 모두 허용합니다

ValidationExpression = "^-? [0-9] \ d * (\ d +)? $"


음수에서 양수로 필요한 장고 URL의 정규식에 대한 몇 가지 실험이 있습니다.

^(?P<pid>(\-\d+|\d+))$

Let's we focused on this (\-\d+|\d+) part and ignoring others, this semicolon | means OR in regex, then the negative value will match with this \-\d+ part, and positive value into this \d+


Just add a 0 or 1 token:

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

For negative number only, this is perfect.

^-\d*\.?\d+$

^[+-]?\d{1,18}(\.\d{1,2})?$

accepts positive or negative decimal values.


Regular expression for number, optional decimal point, optional negative:

^-?(\d*\.)?\d+$;

works for negative integer, decimal, negative with decimal


This worked for me, allowing both negative and positive numbers:

 \-*\d+

If using C#:

Regex.Match(someString, @"\-*\d+").Value;

^(-?\d+\.)?-?\d+$

allow:

23425.23425
10.10
100
0
0.00
-100
-10.10
10.-10
-10.-10
-23425.23425
-23425.-23425
0.234

참고URL : https://stackoverflow.com/questions/15814592/how-do-i-include-negative-decimal-numbers-in-this-regular-expression

반응형