java中的字符序列

时间:2013-01-14 07:57:48

标签: java regex matcher

我是一个练习。 “字符序列 - 密码,从左到右由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@  
你可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

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

  1. 如果您只使用一个[],请不要使用\d,您可以{3}直接使用\d
  2. [a-aZ-Z][aZ]完全相同,您必须使用[a-zA-Z]
  3. 最后一部分似乎不错,但您可能想要添加之前提到的所有字符。
  4. 结果:\\d{3}[a-zA-Z]{4}[,@!%]+