2012-05-04 44 views
2

質問に記載されているとおり、00100から99999まで受け入れる正規表現を作成するにはどうすればよいですか?長さが5文字の00100〜99999を受け入れる正規表現

私は

\d{5} 

を書かれている。しかし、それはまた、すべてゼロを受け入れます。

+0

は、私はあなたにも、右、そして00099を許可したくないと仮定しますか? –

+0

@マークバイヤーズはい... – Exception

+0

私はあなたが何を意味するか本当に理解していません。それは整数だけですか?はいの場合は、正規表現が一致する最小値と最大値を指定できますか? – sp00m

答えて

4

また、あなたはちょうどあなたが先に主張を否定外観を使用して含めたくない数字を禁止することができますあなたが欲しいもの。

See it

2

はこれを試してみてください:

^00[1-9][0-9]{2}$|^0[1-9][0-9]{3}$|^[1-9][0-9]{4}$ 

それがオンラインで作業を参照してください:rubular

注意正規表現がarbitraty整数範囲を受け入れるための良いツールではありませんことを。文字列を整数に変換し、通常のコードを使用して整数が範囲内にあるかどうかをテストすると、読みやすくなります。

0

[0-9] {2} [1-9] {1} [0-9] {2}

これは、このように読み取る:

[0-9] {2} Iは正確に2桁の数字が必要です。ここで\ d {2}を使用できました。

[1-9] {1} 1〜9の範囲で正確に1桁が必要です。 {1}は不要ですが、わかりやすく役立つと思います。

[0-9] {2}もう一度正確に2桁が必要です。

あなたが望むものを正確に与える必要があります。初めに3ゼロを持つ任意の5桁の数字と一致していません

^(?!000)\d{5}$ 

でもある:

関連する問題