検索

ホームページ  >  に質問  >  本文

java正则表达式问题?

用正则表达式构造匹配:

  1. 密码必须由数字、字符、特殊字符三种同时存在组成;

  2. 密码长度不能少于8个字符;

PHPzPHPz2916日前397

全員に返信(5)返信します

  • 高洛峰

    高洛峰2017-04-18 09:09:48

    リーリー

    返事
    0
  • 巴扎黑

    巴扎黑2017-04-18 09:09:48

    検証後、@BodhiXuguang の答えは間違っています。たとえば、hello123 は一致しますが、要件を満たしていません。また、 8 個のスペースも一致しますが、要件を満たしていません。すべての特殊記号を追加する方法はありません。

    (?=[a-zA-Z0-9_#@]+) を追加して、パスワードに指定されたもの以外の特殊記号が含まれないようにすることはできますが、パスワードに 3 つの記号が含まれている必要があるという保証はありません。

    すべての数字/文字/特殊記号ではなく、2 種類以上の記号が含まれていれば結果が得られます。

    実際、これは通常の質問ではありません。同様の質問を参照してください

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 09:09:48

    6 つの状況をすべてリストします

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 09:09:48

    @BodhiXuguang のアイデアは正しいです。否定的な先読みを肯定的な先読みに置き換えて、いくつかの調整を加えます。
    (?=.d.)(?=.[a-zA-Z].)(?=.[_#@].).{8,}

    返事
    0
  • 迷茫

    迷茫2017-04-18 09:09:48

    この問題は正規表現で解決すべきではないと思います。各ツールには、使用に適した独自のシナリオがあります。シナリオ内で正規表現を使用して解決するのは適切ではないと思います。 . 判定は実装が簡単で非常に読みやすいのですが、なぜ正規表現を使用する必要があるのでしょうか。 ?

    返事
    0
  • キャンセル返事