2011-12-27 8 views
0

に私は私はそれが数が 正規表現ポジティブ条件テスト謎

少なくとも数値でなければなりません1

  • 5と8文字の間になるように

    1. を必要とパスワードフィールド上の条件を持っています

      ここでは邪魔な部分がありますが、ここでは正のコンディションテストが使用されています。 {}の前のドット。誰でも説明できますか?

    +2

    あなたの質問は今ですか?表現を説明してもらいたいですか? http://www.regular-expressions.info/をご覧ください。 –

    +1

    「1つの数字は少なくとも数字でなければなりません」、他に何を考えていましたか? – Qtax

    +0

    @Qtax アルファベット。 – kushalvm

    答えて

    1

    ポジティブルックアヘッドはアンカーです。ここに続くのは任意の文字セット(.*)の後に数字(\d)が続く位置に一致します。

    この位置には、任意の文字(.)、5〜8回({5,8})が必要です。

    アンカーである肯定的な先読みは、ではありません。は、どの文字も使用しないことに注意してください。また、正規表現エンジンは常に一番左のマッチを見つけようとします。

    そして最後に、正規表現はまた、それ以外の場合は、入力のどこにでもマッチして、開始と終了(すなわち、​​)に固定する必要がありますように、元の正規表現はjoizjoeijoiu4ijojiarにマッチする、({5,8})指定された長さの世話をすることなく、入力に数字がある場合は長く表示されます。先読みはjoizjoeijoiu4と一致し、.{5,8}joizjoeiと一致します。

    +0

    さて、よく説明されています。私は任意の文字(。*)を「0回以上の任意の文字」として読み込んでいました。それで、メタキャラクターのこの基本的な意味は、ここではポストの見方で保存されていますか? – kushalvm

    +0

    @fge ...そして私はあなたの例をかなり消化しています。 ! – kushalvm

    +0

    @kushal固定されたものは、実際には、una​​nchored、正規表現は文字列全体に一致します。正規表現は入力の_anywhere_と一致することを覚えておいてください。そして、メタキャラクターは先取りしてその意味を失うことはありません。再び、彼らはポジションに合っていることを忘れないでください。 – fge