Bonjour,
Je suis confronté à un problème lorsque j'utilise les expressions régulières.
Voici ce que j'essaye de faire :
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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));
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.
Partager