0

する練習でした。「文字列 - パスワード。左から順に、連続する 3 桁の数字、連続する 4 文字 (英語のアルファベット)、および {*、^、%、#、~、!、&、 |、@、$}。」私はそれをしますが、私は仕事ではありません:/

public class regex {

    public static void main(String[] args) {
        String regex = "[\\d]{3}[a-aZ-Z]{4}[,@!%]+";
        String txt = "394aZbr@";

        Pattern p = Pattern.compile(regex);
        Matcher m = p.matcher(txt);

        while(m.find()){
            String s = m.group();
            System.out.println("pass : " + s);
        }

私の運動の結果:

pass: 493ahTz@  

私たちを手伝ってくれますか ?

4

1 に答える 1

0

[\\d]{3}[a-aZ-Z]{4}[,@!%]+

  1. []を 1 つだけ使用している場合は使用しないでください。直接\d使用できます。{3}\d
  2. [a-aZ-Z]これは とまったく同じ[aZ]です。使用する必要があります[a-zA-Z]
  3. 最後の部分は良さそうに見えますが、前に述べたすべての文字を追加したい場合があります。

結果:\\d{3}[a-zA-Z]{4}[,@!%]+

于 2013-01-14T09:21:47.977 に答える