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. []只用一个就不要用了,直接\d{3}with\d即可。
  2. [a-aZ-Z]这与 完全相同[aZ],您必须使用[a-zA-Z]
  3. 最后一部分看起来不错,但您可能想要添加之前提到的所有字符。

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

于 2013-01-14T09:21:47.977 回答