problème expression regulière - Java - Programmation
Marsh Posté le 30-05-2005 à 14:07:11
normal .. Il faut echaper le -
[^\-]
Mais je suis pas sûr que ton expression verifie bien ce que tu souhaites...
Tu devrais plutôt faire un truc genre :
Code :
|
Marsh Posté le 30-05-2005 à 14:50:28
Euh, ca marche pas :-(
thierry@thierry:~/Master/Dong/Gestion_Option$ javac *.java
Gestion_Option.java:81: illegal escape character
if (!(args[n-1].matches("^[^\-](\w)+\.rng$" ))) {
^
Gestion_Option.java:81: illegal escape character
if (!(args[n-1].matches("^[^\-](\w)+\.rng$" ))) {
^
Gestion_Option.java:81: illegal escape character
if (!(args[n-1].matches("^[^\-](\w)+\.rng$" ))) {
Merci
A+
Marsh Posté le 30-05-2005 à 17:02:12
Bonjour,
Je suis loin d'être spécialiste des expressions régulières, mais j'aurais tendance à faire la proposition suivante.
Si la commande est la suivante :
* 1er caractère différent de "-" : [^-]
* suivi de 1, ... caractère(s) différent(s) de "." : [^\\.]+
* suivi de ".rng" : \\.rng
Exemple :
Code :
|
Sortie :
a.rng -> false |
Nicolas
Marsh Posté le 30-05-2005 à 12:09:21
Bonjour,
j'aimerais verifier si un argument est bien de la forme d'un nom de fichier suivi de l'extension rng.
J'ai donc fait cela:
if (args[0].matches("[^-][^.]+\.rng" )) {
System.out.println("good" );
}
else
{
System.out.println("mauvais" );
}
Comme ca, je lui dis que mon motif, c'est quelque chose, dont le 1er caractère ne commence pas par un "-", qui contient n'importe quel caractère répété au moins une fois, sauf un point puis suivi de .rng, qui est l'extension.
Mais en compilant, j'ai ce message d'erreur:
thierry@thierry:~/Master/Dong/Gestion_Option$ javac Boubou.java
Boubou.java:4: illegal escape character
if (args[0].matches("[^-][^.]+\.rng" )) {
^
1 error
Merci
A+