2012-03-13 2 views
0

以外の私は、これは、誰かが数字を入力することができ、次の正規表現の式に^(([0-9]{1,2})|100|888|777|999)$一致これらの値は、ゼロ

を持っています許可する:1〜99、100、888、777、999(基本的にZEROが今許可されていません)

を私は^(!0|([0-9]{1,2})|100|888|777|999)$をやって考え...しかし、それがあれば「というようになるので、これは当然のことながら動作しません。それはゼロではない、我々は大丈夫 "

すべての広告悪い?

+0

あなたは[1-9] {1,2}の代わりに、[0-を試してみました9] {1,2}? –

+0

「10」はどうですか? – Dan

+1

@MarshallConoverこれは、2桁の数字と0が一致しないため動作しません。 – twain249

答えて

5

てみスプリッティングオフ2桁の数字対1桁の場合:その後、

^([0-9]|([1-9][0-9])|100|888|777|999)$

とを0削除:

^([1-9]|([1-9][0-9])|100|888|777|999)$

を今、あなたは、明白な方法があることを持っていることそれを単純化する:

^(([1-9][0-9]?)|100|888|777|999)$

ので、twain249、あなたが前面に過大なゼロで数字を読み込むために、しかし、あなたは試合がそれらを含めたくないだろうしたい場合:

^0*(([1-9][0-9]?)|100|888|777|999)$

+1

彼は '02'のような数字を取り除きたいのかどうか分かりませんが、それを扱う正規表現を変更するのはかなり簡単です。 – twain249

+0

あなたの思考プロセスを見せてくれてありがとう...答えとしてマークする能力を待っています:P – peroija

+0

@ twain249私はその問題については考えていませんでしたが、ここでは他人のためです。 '^(([0-9] [ 1-9] {1})|([1-9] [0-9]?)| 100 | 888 | 777 | 999)$ ' – peroija

1

これはあなたが望むものを達成する必要があります

^(([1-9][0-9]?)|100|888|777|999)$ 
1

^([1-9] [0-9]?)| 100 | 888 | 777 | 999 $

関連する問題