Bonjour a tous, voilà je poste ce message car j'ai un petit souci. Je m'explique, je viens de me mettre aux expressions régulières, j'ai lu un peu de tutoriaux sur le net mais voila un problème se pose :
(Je travail sur eclipse 3.2.0 actuellement sous windows)
Voila un petit bout de code simple qui recherche une un chiffre :
import java.io.*; import java.util.regex.*;
public class testRegex {
public static void main(String args[]) { if(Pattern.compile("\d" ).matcher("autre 2 simple chaîne de caractère." ).find()) System.out.println("Trouvé !" ); } }
"\d" équivaut à [0-9],le problème est que sur eclipse ne tolère \b \t \n \f \r \" \' \\ comme caractère après l'anti-slash et lors de l' éxécution j'ai : Exception in thread "main" java.lang.Error: Unresolved compilation problem: Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ )
Et donc je ne comprend pas trop puisque même sur l'API de java j'ai trouvé ça : Predefined character classes . Any character (may or may not match line terminators) \d A digit: [0-9] \D A non-digit: [^0-9] ........
Aurais-je sauté une étape, si vous pouvez m'éclairer sur le sujet. Merci.
Bonjour a tous, voilà je poste ce message car j'ai un petit souci. Je m'explique, je viens de me mettre aux expressions régulières, j'ai lu un peu de tutoriaux sur le net mais voila un problème se pose :
(Je travail sur eclipse 3.2.0 actuellement sous windows)
Voila un petit bout de code simple qui recherche une un chiffre :
import java.io.*; import java.util.regex.*;
public class testRegex {
public static void main(String args[]) { if(Pattern.compile("\d" ).matcher("autre 2 simple chaîne de caractère." ).find()) System.out.println("Trouvé !" ); } }
"\d" équivaut à [0-9],le problème est que sur eclipse ne tolère \b \t \n \f \r \" \' \\ comme caractère après l'anti-slash et lors de l' éxécution j'ai : Exception in thread "main" java.lang.Error: Unresolved compilation problem: Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ )
Et donc je ne comprend pas trop puisque même sur l'API de java j'ai trouvé ça : Predefined character classes . Any character (may or may not match line terminators) \d A digit: [0-9] \D A non-digit: [^0-9] ........
Aurais-je sauté une étape, si vous pouvez m'éclairer sur le sujet. Merci.
double ton backslash (escape character), c'est à dire "\\d"
Marsh Posté le 09-08-2006 à 18:06:27
Bonjour a tous, voilà je poste ce message car j'ai un petit souci.
Je m'explique, je viens de me mettre aux expressions régulières, j'ai lu un peu de tutoriaux sur le net mais voila un problème se pose :
(Je travail sur eclipse 3.2.0 actuellement sous windows)
Voila un petit bout de code simple qui recherche une un chiffre :
import java.io.*;
import java.util.regex.*;
public class testRegex {
public static void main(String args[]) {
if(Pattern.compile("\d" ).matcher("autre 2 simple chaîne de caractère." ).find())
System.out.println("Trouvé !" );
}
}
"\d" équivaut à [0-9],le problème est que sur eclipse ne tolère \b \t \n \f \r \" \' \\ comme caractère après l'anti-slash et lors de l' éxécution j'ai :
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ )
Et donc je ne comprend pas trop puisque même sur l'API de java j'ai trouvé ça :
Predefined character classes
. Any character (may or may not match line terminators)
\d A digit: [0-9]
\D A non-digit: [^0-9]
........
Aurais-je sauté une étape, si vous pouvez m'éclairer sur le sujet.
Merci.