1

1から99までの正の数を受け入れ、2桁までの小数を受け入れるための正規表現を書き込もうとしています。この式を書きました。

([1-9]|[1-9][0-9])(.[0-9]{1,2})?

しかし、式をテストしたところ、100と3桁までの小数を受け入れましたが、2桁までの小数だけが必要であり、100は受け入れられないはずです。

4

4 に答える 4

3

.任意の文字に一致するをエスケープし\.ます。これの周りに区切り文字がないため、これは、たとえば、文字列191.234の91.23と一致することに注意してください。

([1-9]|[1-9][0-9])(\.[0-9]{1,2})?
于 2012-07-19T15:56:57.980 に答える
3

これは私にとってはうまくいくようです:

/^[1-9][0-9]?(\.[0-9]{1,2})?$/

デビッドが言ったように、あなたはあなたのをエスケープする必要があります.、さもなければそれは数字を含むどんな文字とも一致します。

于 2012-07-19T16:02:18.967 に答える
-1

私はこれで行きます^(?:\d[1-9]|[1-9]|[1-9][0-9])(?:\.(?:[0-9][1-9]|[1-9]))?$

0 FAIL
0.0 FAIL
0.00 FAIL
0.1 FAIL
0.12 FAIL
1 PASS
12 PASS
135 FAIL
1.00 FAIL?
01.35 PASS
10.35 PASS
12.01 PASS
12.1 PASS
12.23 PASS
12.234 FAIL

最初のコメントの後に回答を編集します。

于 2012-07-19T16:02:44.113 に答える
-1

これは、1-99および小数点以下第2位までに一致します。

((0?[1-9]|[1-9][0-9])\.[0-9]{1,2})
于 2012-07-19T16:02:52.920 に答える