この正規表現で負の数値も一致させるにはどうすればよいですか?この正規表現は正の値で正常に機能しますが、負の値も許可するようにします。 -10、-125.5など.
^[0-9]\d*(\.\d+)?$
ありがとう
-?
(?
は、 quantifier を追加して、先頭にオプションのハイフンを追加する必要があります意味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+)?$
更新
1桁に数字があることを確認したい場合は、
^-?\d+(.\d+)?$
Django urlに正規表現に関するいくつかの実験があります。
^(?P<pid>(\-\d+|\d+))$
この(\-\d+|\d+)
部分に注目し、他を無視します。このセミコロン|
は、正規表現でまたはを意味し、負の値はこの\-\d+
部分と一致します、およびこの\d+
への正の値
これにより、正と負の両方の整数が許可されます
ValidationExpression = "^-?[0-9]\d *(\ d +)?$"
PDATED(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
これにより、数字が続く場合にのみ、-
または+
文字が許可されます。
^([+-](?=\.?\d))?(\d+)?(\.\d+)?$
0または1トークンを追加するだけです:
^-?[0-9]\d*(.\d+)?$
数値の正規表現、オプションの小数点、オプションの負数:
^-?(\d*\.)?\d+$;
負の整数、小数、小数で負の場合に機能します
^[+-]?\d{1,18}(\.\d{1,2})?$
正または負の10進数値を受け入れます。
負数の場合のみ、これは完璧です。
^-\d*\.?\d+$
^(-?\d+\.)?-?\d+$
許可する:
23425.23425
10.10
100
0
0.00
-100
-10.10
10.-10
-10.-10
-23425.23425
-23425.-23425
0.234