dimanche 10 juillet 2016

Matcher cannot recognize the second group of regular expression in java [duplicate]

This question already has an answer here:

I've got a problem when I'm using Matcher for finding a symbol from the group of regular expressions, it cannot recognize the second group .Maybe the code below make it clear :

String pat = "(\d+)[!@#$%^&*()_+-=}]";
Pattern r;
r = Pattern.compile(pat);
System.out.println(r);
Matcher m;
m = r.matcher(n);
if (m.find()) {
     JOptionPane.showMessageDialog(null, 
              "Not a correct form", "ERROR_NAME_MATCH", 0);
}else{
     name = n;
}

After running the code the first group is recognizable but the second one [!@#$%^&*()_+-=}] is not.I'm totally sure that the expression is true I've checked it with 'RegexBuddy'. There must be a problem with concatenating two or more groups in one line. Thank you for your help.

Aucun commentaire:

Enregistrer un commentaire