2012-01-26 10 views
2

C#ファイル用に次の正規表現を作成しました。 Bascily私は、ユーザーの入力を通常の文字(A-Zの下限または上限)と数字のみにしたい。 (スペースまたは記号)。正規表現の数と文字のみ

[-ZA-Z0-9]何らかの理由で

はそれだけで失敗したときに自分自身でそのシンボル。文字が混在していれば、式は合格します。

私はあなたに私がどのようにそれを意味するのかを示すことができますが、私はその私の表現を思います。

ありがとうございます!

+2

多分あなたはプラスを忘れていましたか? [a-zA-Z0-9] + –

答えて

6

と一致できる問題は、です。アンカーが必要です:

^[a-zA-Z0-9]+$ 
+0

素晴らしいですね。 – Johnston

+0

私は既に私の質問に答えていますが、今は最初の文字を大文字にしようとしています。^[A-Z] [a-zA-Z0-9] + $ – Johnston

+0

大文字を入力していますか?代わりに '^ [A-Z] [a-zA-Z0-9] * $'でなければなりません。 – Ryan

1

文字列全体を確認していますか?つまり、 ^[a-zA-Z0-9]*$ のような式を使用しています。ここで、^は文字列の先頭を意味し、$は文字列の最後を意味しますか?

2

正規表現は、文字列内のすべての英数字を別個の一致としてマッチさせます。

ユーザーがのみ入力された文字列全体があなたのような何かをする必要があり、英数字を持っていることを確認したい場合は、次の

^[a-zA-Z0-9]+$ 
2

それはあなたが次のことを必要とする文字列内の任意の文字に一致するためです。 一部だけでなく文字列全体に一致するようにします。

^[0-9a-zA-Z]*$