Bonjour,
je veut verifier si la ligne en entrée contient une expression de la forme (xxxx;xxxx;xxxx) avec xxxx ensemble de caractère(peut etre cractère spéciale ou un numero ou n'importe quel caractère . pour cela j'ai ecrit le code suivant
Il y a des caractères spéciaux dans les expressions régulières, et les parenthèses en font partis, il faut donc les échapper avec des \\
De plus, dans ton exemple tu as 3 points virgules, mais dans ton expression tu n'en as que 2. Il faut donc avoir le bon compte.
Et pour cela il faut aussi s'assurer que dans tes .* tu n'ais pas un point virgule qui se promène, pour ça il faudrait plutôt utiliser [^;]*
J'en profite pour utiliser directement la méthode matches de la classe String plutôt que de passer par un Pattern/Matches superflue.
public class Test
{
public static boolean isforme(String chaine)
{
return chaine.matches("\\([^;]*;[^;]*;[^;]*\\)");
}
public static void main(String[] args)
{
System.out.println(isforme("(xxxxxxx;xxxxxxx;xxxxx)"));
}
}