浮動小数点数に一致する正規表現を定義するのに問題がありますが、整数を識別しません。
浮動小数点数に一致する次の正規表現があります。
(\+|-)?([0-9]+\.?[0-9]*|\.[0-9]+)([eE](\+|-)?[0-9]+)?
上記の式を整数と一致しないように変更するにはどうすればよいですか?
一致する必要があるものの例を次に示します。
3.3
.3
5E6
.2e-14
7E+3
4.
5.E2
1e2
浮動小数点数に一致する正規表現を定義するのに問題がありますが、整数を識別しません。
浮動小数点数に一致する次の正規表現があります。
(\+|-)?([0-9]+\.?[0-9]*|\.[0-9]+)([eE](\+|-)?[0-9]+)?
上記の式を整数と一致しないように変更するにはどうすればよいですか?
一致する必要があるものの例を次に示します。
3.3
.3
5E6
.2e-14
7E+3
4.
5.E2
1e2
正規表現フレーバーが先読みをサポートしている場合は、数値の終わりの前に浮動小数点文字の1つを要求します。
((\+|-)?(?=\d*[.eE])([0-9]+\.?[0-9]*|\.[0-9]+)([eE](\+|-)?[0-9]+)?
少し最適化されたバージョンもあります。
[+-]?(?=\d*[.eE])(?=\.?\d)\d*\.?\d*(?:[eE][+-]?\d+)?
オプションの+
またはから始めます-
。次に、文字の1つ.
、e
またはE
任意の桁数の後に必要です。次に、文字列の前または後に、少なくとも1桁の数字が必要です。数字、オプション.
、およびそれ以上の数字を照合します。次に(完全にオプション)ane
またはanE
およびオプションの+
or-
そして1つ以上の数字。
これはあなたのニーズに合うはずです:
[+-]?([0-9]+\.([0-9]+)?|\.[0-9]+)([eE][+-]?[0-9]+)?