1

任意の長さの文字の正と負の両方の浮動小数点に一致する正規表現を作成しようとしています。結果を double 値を含む配列に格納したい。私はこれを試しました

input.match(/^[-+]?(\d*)\.?(\d*)$/)

たとえば。私の番号は -123.432 です。[-123.432,-123.432]
私の番号が 23.45 の場合は、返されます。[23.45,23.45]

負の浮動小数点数と正の浮動小数点数を一致させ、その結果を取得するには、どの式を使用できますか?

4

3 に答える 3

0

私はあなたの質問を正確に理解していません

array[0]との結果として同じ値を持ちたいということですarray[1]か? そうするのは無意味です。また、正規表現に強制するのではなく、コードを書いてそれを行うこともできます。

しかし、それは可能です - グループ?:の先頭に置くことでグループを非表示にするか、必要ない場合はスキップすることができます。括弧を追加するだけで、追加のグループを作成できます。したがって、変更された正規表現は次のようになります。

input.match(/^([-+]?\d*\.?\d*)$/)

意味ないけど

于 2013-09-25T10:03:45.223 に答える
0

これはすべきです:

[-+]?([0-9]*\.[0-9]+|[0-9]+)

ここで JS の正規表現をテストします: http://www.regular-expressions.info/javascriptexample.html

を貼り付けてregexp、 をクリックしshow matchます。

また、詳細については、このリンクを参照してください: FLOATING POINT REGEX

于 2013-09-25T09:29:06.803 に答える