Un des gros problèmes lorsqu’on utilise des regexp en Java est que le backslash doit être quadruplé.
En effet, pour représenter un backslash dans une String, il faut le doubler (échappement). De plus, ce caractère doit aussi être échappé dans une regexp ce qui nous amène à un total de 4 backslashes au lieu d’un.
Il existe cependant une méthode qui peut grandement vous simplifier la tâche :
Pattern.quote(String)
Cette méthode se charge d’échapper tous les caractères spéciaux liés aux regexps. Par exemple, pour séparer une chaîne contenant des « – » :
String[] result = "a-b-c-d".split(Pattern.quote("-"));
Dans le cas des backslashes, il faut toujours les doubler dans la chaîne mais ça reste plus compréhensible.