Problème avec Pattern.quote(str) dans les expressions Régulières
Bonjour,
Je suis confronté à un problème lorsque j'utilise les expressions régulières.
Voici ce que j'essaye de faire :
Code:
1 2 3 4 5 6 7
| // Voici mon pattern
Pattern pattern = Pattern.compile("^(.*) was uplo\\*ded to album (.*) successfully");
// Voici la chaîne de caractères que je souhaite faire matcher avec mon pattern
Matcher matcher = pattern.matcher(Pattern.quote("TEST_MEDIA was uplo*ded to album TEST_ALBUM successfully"));
matcher.find();
// ça me retourne \QTEST_MEDIA
System.out.println(matcher.group(1)); |
Je comprends très bien que j'ai un \Q devant ma chaîne à cause de la méthode Pattern.quote(). Cependant, j'ai besoin d'utiliser Pattern.quote() car la chaîne que je souhaite faire matcher peut contenir des caractères à échapper comme le caractère étoile dans mon exemple.
Mon souci est qu'au final je souhaiterais avoir en résultat sur "TEST_MEDIA" et non "\QTEST_MEDIA".
Y a-t-il un moyen simple de remplacer tous les caractères insérés par Pattern.quote() ?
Merci d'avance pour votre aide.