2009-06-12 38 views
4

シンプルだと思っていますが、私はあまりにも愚かではありません。誰かが与えられた文字列を少なくとも1文字と少なくとも1つの数字でチェックする正規表現を私に提供できますか?少なくとも1文字と1文字の正規表現

また、説明をお願いします。

+0

正規表現の構文が異なる可能性があるため、作業している言語/フレームワークを指定する必要があります。これは.NET、Perl、Python、...ですか? – AakashM

+0

こんにちは、私は.netフレームワーク(C#)を使用しています – Eros

答えて

6

のRE複数の注文のような非常に複雑なもののために良いことはありませんが、この単純な一つが持つ表現する必要があります:

[A-Za-z].*[0-9]|[0-9].*[A-Za-z] 
+0

これを検証するためにこの式を修正することができます:!1 $$ aawdEEQ! – Eros

+0

まあ、そうです。 – annakata

+0

おっと、はい、ありがとう、たくさん:) – Eros

1

これは明らかに、2つのチェック(文字列の場合は1つ、数字の場合は1つ)によってはるかに簡単です。

([A-Za-z][0-9]|[0-9][A-Za-z]) 

アップデート:以下のような

何かがあなたが数字と文字の両方を持っているかのように、あなたは、定義文字(またはその逆)の隣の番号を持っている必要があります見て、しかしうまくいくかもしれません偽の '|'を取り除いた。注意してください、上記の他の文字は有効でないと仮定します。私は受け入れられないかもしれません。句読点が許可されている場合は、他の回答を参照してください。

+1

私は(私のスタイルではない)あなたをdownvoteしませんでしたが、あなたのREは文字列 "0"、 "A"手紙と数字はありません。あなたの2番目の "|"あなたの前提が間違っていると思います。「0、A」は有効で、文字の隣に数字はありません。 – paxdiablo

+0

ありがとう - スプリアス '|'それは私の本来の意図ではありませんでした。それは私がなぜあなたが言ったことのためだと仮定しなければならないのかと言うことなく、downvote人々がdownvoteとき私を悩ます:) – samjudson

+0

はい、それは私がdownvoted理由だった。 – CiscoIPPhone

2

最良の方法は、個別に2正規表現を使用して、これをチェックすることになります。/[a-z]/i/\d/

パスワードのセキュリティルールを適用する場合は、パスワードを分割して(たとえばPHPでstr_split)、各文字タイプの発生回数を数えます。あなたはあなたのルールを適応させます。このパスワード変更のために、あなたは20K刺さ上でそれをしない...

1

誰かが既に答えましたが、あなたはまた、これは便利かもしれない場合

パフォーマンスが...

その問題ではありません.NETで書かれた視覚的な正規表現ビルダー。その涼しい、あなたはあなたが得るものをリアルタイムで見ることができます。それをチェックしてくださいhere

は:)

1

私はそれがはるかに重要とは思わないが、私はこの方法でそれをやりました。

([A-Za-z])+([0-9])+|([0-9])+([A-Za-z])+
+1

この回答は愛を必要とします。 –

関連する問題